On Fri, 12 Apr 2013 16:12:23 +0700 Theppitak Karoonboonyanan <[email protected]> wrote:
> On Thu, Apr 11, 2013 at 11:21 PM, Behdad Esfahbod <[email protected]> > wrote: > > On 13-04-10 07:45 AM, Theppitak Karoonboonyanan wrote: > >> But it will fail if there is a leading vowel before vowel AA, like > >> in <HIGH PA, NA, SAKOT, HIGH THA, vowel E, vowel AA>. > > > > What do you expect HarfBuzz to do? > > <HIGH PA, NA, SAKOT, HIGH THA, vowel E, vowel AA> should be reordered > to <HIGH PA, vowel E, NA, SAKOT, HIGH THA, vowel AA> before GSUB is > applied. > > > Are you correctly using mark skipping? > > The rule does not need mark skipping. You can see the first case of > <WA, NA, SAKOT, LOW TA, vowel AA> already works. > > > What feature are you using? > > 'ccmp' for script 'lana'. >From looking at Version 0.9.14's function collect_features_sea() in hb-ot-shape-complex-sea.cc, I think that's the problem. I think the order of operations is: 1) Tag the characters with their roles within syllables, breaking them up into syllables. 2) Convert characters to glyphs in accordance with the cmap. 3) Apply the GSUB locl feature. 4) Apply the GSUB ccmp feature. 5) Apply 'Indic rearrangement', using SEA rules. 6) Apply GSUB 'basic' features - pref, abvf, blwf, pstf 7) Forget the division into syllables 8) Apply 'other' GSUB features - pres, abvs, blws, psts, dist (I'm confused here - isn't dist for GPOS?) 9) Apply GPOS features Now, Khmer applies the ligatures of consonants and the AA vowel in the clig look-up. I don't know what the recommended place is for Tai Tham. It might make sense to put it at the end of pstf, after all the occurrences of <SAKOT, consonant> have been converted to marks. Richard. _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
