[XeTeX] XeTeX and "ignore sub" substitution rules

Khaled Hosny khaledhosny at eglug.org
Tue Nov 29 07:27:56 CET 2011

On Mon, Nov 28, 2011 at 02:10:23PM -0600, mskala at ansuz.sooke.bc.ca wrote:
> Here's a stripped-down example of the problem.  The attached OTF font
> contains rules in the "clig" feature saying that "a b" should be replaced
> by "a B" (i.e. the b is changed to upper case) except when it is followed
> by "c".  For greater clarity, the feature file is also attached.  Testing
> in FontForge's "metrics" window requires me to manually turn on "clig"
> (which should be on by default) but with the feature turned on, the
> substitution and non-subsitution happen as expected.
> When I run the attached .tex file through XeLaTeX with the attached font,
> "aba" becomes "aBa" as it should, but "abc" becomes "aBc", whereas
> FontForge leaves it as "abc" (which I think is correct).  The ignore rule
> doesn't seem to be processed by XeTeX.
> Confirmed on a couple of different installations, but I'd be interested to
> hear whether it happens for anyone else.  Apostolos Syropoulos sent me a
> font using ignore rules and reported to work correctly, but I haven't
> finished testing myself whether that one works for me.

The same here, but I get the expected result (aBa, abc) with LuaTeX as
well as HarfBuzz. I tested with another application using ICU layout
engine (fontmatrix) and got the same result as XeTeX, so I think it is
an ICU bug.


More information about the XeTeX mailing list