help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Composed Sequences (was: Manually parsing char-tables)


From: Richard Wordingham
Subject: Composed Sequences (was: Manually parsing char-tables)
Date: Sat, 26 Feb 2022 00:28:37 +0000

On Sun, 20 Feb 2022 14:50:54 +0200
Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 20 Feb 2022 11:09:26 +0000
> > From: Richard Wordingham <richard.wordingham@ntlworld.com>
> > 
> > I am trying to understand how Arabic script rendering works in Emacs
> > 28.0.90, as it seems to be using a different mechanism to that used
> > for Indic or European scripts.  (There seems to be more to it than
> > just the asymmetries between right-to-left and left-to-right.)  To
> > that end, I am trying to understand the contents of the variable
> > composition-function-table.  

(The version above should actually read 28.0.91.)

> I think it is easier to just look at how the Arabic part of this table
> is populated.  See lisp/language/misc-lang.el starting from line 105.

I still haven't found the code where the difference occurs, but I now
have a better idea of what is going on.  It seems that runs with the
same value of the composition property ('composed sequences') are
sequences of clusters for the font that match a regular expression
given in composition-function-table.  Different renderers give
different clusters, and thus, by default, different cursor motion!
The insight was given by GNU Emacs 23.4.1 (i386-mingw-nt6.2.9200)
running on Windows 10.

The reason Arabic seemed different is that when lam+hah appears to
ligate, what is happening (at least with Amiri) is that substitutions
are made which give the effect of a ligature, while remaining two
distinct glyphs.

Richard.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]