> Date: Sun, 24 May 2020 20:27:26 +0100 > From: Richard Wordingham <richard.wording...@ntlworld.com> > Cc: harfbuzz@lists.freedesktop.org > > It seems to me that Emacs knows what script a cluster is in; perhaps > it just hasn't united the concepts.
It's a kind of coincidence: different scripts almost always require different fonts, and Emacs only composes characters displayed in the same font. > Users may have written some weird clustering combinations, and I can > imagine some weird combinations in the Private Use Areas. I should > investigate. Don't expect anything about PUA, Emacs doesn't assign any useful properties to them. > > That's a feature (you can disable it with disable-point-adjustment). > > Is this documented in info, or does one have to trawl the code to find > out what it does? Every variable in Emacs has a doc string, and you can search them with several apropos commands. We don't describe in the manual every obscure variable, there are too many of them. > It seems that Emacs needs several levels of movement > - by codepoints, by grapheme cluster, by akshara (will be the same as > grapheme cluster in many cases) and by HarfBuzz cluster, or whatever > is used to make access into lam-alif impossible. I have no idea which one Emacs uses, not in these terms. All I can say is that, in HarfBuzz terms, we get the number of "elements" from hb_buffer_get_length, and then index the arrays returned by hb_buffer_get_glyph_infos. Each "element" thus indexed is a separate "thing" for display purposes, and Emacs by default won't let you "enter" such a "thing", it will move across it in its entirety in one go. _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz