[HarfBuzz] Ligatures
Eli Zaretskii
eliz at gnu.org
Sat May 23 16:45:17 UTC 2020
> Date: Sat, 23 May 2020 16:54:51 +0100
> From: Richard Wordingham <richard.wordingham at ntlworld.com>
> Cc: harfbuzz at lists.freedesktop.org
>
> > Emacs supports more than one rule for each composable sequence of
> > characters.
>
> That doesn't help when the rules give conflicting divisions into
> clusters, which is the case with Tai Tham.
The assumption is that either the rules can be arranged in an order
that allows to use the first matching rule, or, failing that, that you
write your own composing function that implements whatever logic
that's required to select the right rule.
> The Devanagari rule only covers the Vedic marks in the Devanagari block,
> the 'stress signs' according to the comments. Can rules essentially
> for different scripts now share combining marks? The newer Vedic marks
> were supposed to be available to at least all Indian Indic scripts.
I don't know enough about this to make sure I even understand the
question, let alone can provide an answer. One thing I can say is
that the regexp pattern in a rule can specify different context (the
surrounding characters) even if the character that triggers the rule
is the same. Failing that, I guess the solution will again be the
function that produces the composition.
As for different scripts: if the character codepoints are the same,
Emacs currently assigns each character to a single script.
> > Does Emacs indeed fail to wrap Arabic text? can you show an example?
>
> Character level wrapping still almost works down at Emacs 24.4, but I
> don't know that it wasn't broken in later enhancements. There are three
> features that make me think Emacs 24.4 might be different to the
> current state of affairs:
>
> (1) Clicking into the text breaks text before the cursor, but not after
> it.
> (2) I can't step into lam-alif the way I step into Indic clusters.
> (3) Lam-alif isn't broken by line wrap.
Emacs 24.4 is very old, and doesn't use HarfBuzz. Please try Emacs 27
instead, it has several bugs in this area fixed, and will use HarfBuzz
if available at build time.
More information about the HarfBuzz
mailing list