Dear Ed,

> When shaping text, the correct ordering for your typical
> consonant-vowel-consonant syllable is: BASE_CONSONANT + (i)VOWEL_MARK +
> (ii) TONE MARK +(iv) U+1A60 SAKOT + (iii) SUBJOINED CONSONANT
> 
> With Harfbuzz 0.90, I get the shaping that I expect as shown in the first
> image.  But with the most recent versions of HarfBuzz including the latest
> version (sorry, I don't know at which intermediate version things changed),
> I get incorrect shaping, as shown in the 2nd image.  These flaws are
> apparent in the latest versions of Firefox too (which presumably contains
> the latest HarfBuzz library unchanged in some statically linked form I
> guess ... )
> 
> Can someone please give me a hint about what changed in HarfBuzz? Is this a
> bug in HarfBuzz? Or is some definition in my OpenType feature file not
> correct after changes were made in HarfBuzz?

The answer is simple but insidious.

The normalization for Tai Tham is somewhat broken in that sakot has been given 
a lower combining order than a tone mark. Thus when text is normalized, the 
sequence cons + vowel + tone + sakot + cons, gets reordered to cons + vowel + 
sakot + tone + cons. I have tried very hard to get the UTC to fix this, but 
they absolutely refuse on the basis of stability. (Please don't get me 
started!).

The best answer is to have the Tai Tham shaper re-reorder the wrong normalised 
order of sakot + tone + cons, back to tone + sakot + cons before allocating 
features, etc.

Yours,
Martin
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to