[HarfBuzz] Ligatures
Eli Zaretskii
eliz at gnu.org
Sun May 24 14:18:27 UTC 2020
> Date: Sat, 23 May 2020 21:42:24 +0100
> From: Richard Wordingham <richard.wordingham at ntlworld.com>
>
> > As for different scripts: if the character codepoints are the same,
> > Emacs currently assigns each character to a single script.
>
> I'll need to dig deeper. Composition of both 'a' and Greek alpha with
> an acute accent works, which suggest that the problem isn't there for
> characters with a script property of 'inherited'.
Emacs currently leaves it up to HarfBuzz to guess the script, as it
doesn't yet have the necessary smarts.
> > 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.
>
> The behaviour in 27.05 is the almost the same as for 24.4, but the
> breaking in item (1) is automatically repaired. The process seems slow
> - I can see the glyph become final and then revert back to being
> medial. I'm puzzled by not being able to step into lam-alif but being
> able to step through a series 'beh's. The step into command for
> advancing codepoint by codepoint semiworks. The cluster shaping
> doesn't break at the cursor - Handa gave me a C code fix so I could
> achieve that - but the number of steps into to pass through a cluster
> matches the number of codepoints.
>
> Pressing the 'delete' key still deletes a single character, but may be
> that because it's mapped to tpu-delete-current-char.
If you press DEL (or Backspace), it will delete a single codepoint.
> So, what's not working in Arabic is that one can't move the cursor
> through ligatures.
That's a feature (you can disable it with disable-point-adjustment).
The rest of your observations seem to be too Emacs-specific to discuss
here. You are welcome to submit an Emacs bug report if you think
something isn't working as it should, or would like to discuss
Emacs-specific details.
Thanks.
More information about the HarfBuzz
mailing list