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.
-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca                 People before principles.
http://ansuz.sooke.bc.ca/

Attachment: testfont.otf
Description: Binary data

languagesystem DFLT dflt;
languagesystem latn dflt;

feature clig {
  ignore sub a b' c;
  sub a b' by B;
} clig;
\documentclass{article}

\usepackage{fontspec}

\begin{document}

\setmainfont[Path=./]{testfont.otf}

aba

abc

\end{document}

--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex

Reply via email to