unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Anand Tamariya <atamariya@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: Basic WYSIWYG printing in GNU Emacs (Arabic & Hebrew)
Date: Wed, 11 Aug 2021 19:57:00 +0300	[thread overview]
Message-ID: <83k0krex7n.fsf@gnu.org> (raw)
In-Reply-To: <CADm7Y4mC+ev6jezwPKgohUwMXrtn1Zyd+DOywCne9-8oP4_uOw@mail.gmail.com> (message from Anand Tamariya on Wed, 11 Aug 2021 21:29:53 +0530)

> From: Anand Tamariya <atamariya@gmail.com>
> Date: Wed, 11 Aug 2021 21:29:53 +0530
> Cc: emacs-devel@gnu.org
> 
>  > It uses following API to determine BIDI classification and processes accordingly:
>  > (get-char-code-property (char-after from) 'bidi-class)
> 
>  Hmm... not sure this is enough, except in the simplest cases.  The
>  bidi-class of a character is just its basic attribute; application of
>  the full Unicode Bidirectional Algorithm can and does change the
>  effective attributes of some characters, before they are displayed.
> 
> Do you have some sample text for this use case? I can run a quick test.

You could try TUTORIAL.he, for example.

>  Is this test performed on each character or only at the beginning of a
>  visual line?
> 
> This happens at every point where the font changes. 

So if the entire buffer uses just a single font, like TUTORIAL.he
does, you do the test only once, at the first character of the buffer
text?  But that could produce incorrect results, because the text
further into the buffer could have both RTL and LTR paragraphs
intermixed, and the correct display will show each of these at their
correct base direction.  For example, most of the paragraphs in
TUTORIAL.he have right-to-left base direction, but the last paragraph,
with the Local Variables, is left-to-right, so its display starts at
the left edge of the window.



  reply	other threads:[~2021-08-11 16:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10  5:41 Basic WYSIWYG printing in GNU Emacs (Arabic & Hebrew) Anand Tamariya
2021-08-10 12:01 ` Eli Zaretskii
2021-08-11  3:48   ` Anand Tamariya
2021-08-11 11:37     ` Eli Zaretskii
2021-08-11 15:59       ` Anand Tamariya
2021-08-11 16:57         ` Eli Zaretskii [this message]
2021-08-12  5:24           ` Anand Tamariya
2021-08-12  6:29             ` Eli Zaretskii
2021-08-12  8:51               ` Anand Tamariya
2021-08-12 11:45                 ` Eli Zaretskii
2021-08-13  9:16                   ` Anand Tamariya
2021-08-11 17:53       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83k0krex7n.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=atamariya@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).