[HarfBuzz] Change in HarfBuzz after version 0.90 ?

Ed Trager ed.trager at gmail.com
Fri Dec 27 08:21:43 PST 2013


Hi, Martin, Richard, and Danh Hong,

With regard to forcing the re-ordering of the
UCD-enforced-but-totally-broken normalisation of TAI THAM TONE MARK plus
U+1A60, does the following approach in the OpenType feature file make sense
as the quickest and cleanest way to do it or not?:

Basically the idea is to compose the out-of-order pair of characters into a
ligature; and then take that ligature and decompose it back to a pair of
characters that are in the correct order:

If there is a better way to do this in OpenType, please enlighten me! :-)
 I was trying to get this to work last night, so far without success:

lookup FixUCDSakotErrorComposition {

  lookupflag 0;

    sub \uni1A60 \uni1A75 by \uni1A60.uni1A75.lig;

    sub \uni1A60 \uni1A76 by \uni1A60.uni1A76.lig;

    sub \uni1A60 \uni1A77 by \uni1A60.uni1A77.lig;

    sub \uni1A60 \uni1A78 by \uni1A60.uni1A78.lig;

    sub \uni1A60 \uni1A79 by \uni1A60.uni1A79.lig;

} FixUCDSakotErrorComposition;


lookup FixUCDSakotErrorDecomposition {

    sub \uni1A60.uni1A75.lig by \uni1A75 \uni1A60;

    sub \uni1A60.uni1A76.lig by \uni1A76 \uni1A60;

    sub \uni1A60.uni1A77.lig by \uni1A77 \uni1A60;

    sub \uni1A60.uni1A78.lig by \uni1A78 \uni1A60;

    sub \uni1A60.uni1A79.lig by \uni1A79 \uni1A60;

} FixUCDSakotErrorDecomposition;



On Thu, Dec 26, 2013 at 8:52 AM, Martin Hosken <mhosken at gmail.com> wrote:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20131227/0770c75e/attachment.html>


More information about the HarfBuzz mailing list