Re: Arabic support
Eli Zaretskii <[email protected]> Wed, 01 Sep 2010 02:11:24 -0400
| Newsgroups | gmane.emacs.bidi,gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
> From: Kenichi Handa <[email protected]> > Cc: [email protected], [email protected], [email protected] > Date: Wed, 01 Sep 2010 11:17:03 +0900 > > I read the function uniscribe_shape roughly. It has this > code: > > for (i = 0; i < nitems; i++) > { > int nglyphs, nchars_in_run, rtl = items[i].a.fRTL ? -1 : 1; > [...] > if (SUCCEEDED (result)) > { > int j, nclusters, from, to; > > from = rtl > 0 ? 0 : nchars_in_run - 1; > > Doesn't it mean uniscribe_shape reorders glyphs? This reorders a single LGSTRING, according to my reading. Isn't an LGSTRING a single grapheme cluster, rather than several distinct characters? Btw, where's the documentation of LGSTRING? The commentary to uniscribe_shape says to look in font-make-gstring, but I cannot find that, neither as function nor as variable. In general, everything about compositions and lgstrings needs a lot more of documentation.