Hi,

I’ve run across a bug in v.0.9999.0 from tlcontrib and I’d like to know if this is still true:

XeTeX 0.9999.0 ignores uni200C (zero width non joiner) with latin script. It is needed for inhibiting ligatures at certain places in german. Babel provides a shorthand for this purpose ("|) which inserts a tiny kern between the two letters but that prevents contextual lookups. If I insert a ZWNJ at that place, the ligature substitution takes place nevertheless.

In EB Garamond this matters because there are two differently shaped "f"s and I want two non ligated "f"s following each other to take the same shape. LuaTeX and FF21 do this correctly (see: http://georgduffner.at/ebgaramond/tests/zwnj.html).

The minimal example contains different ways of (not) breaking up ligatures. The last two contain the ZWNJ character. Please use this version of the font: http://georgduffner.at/ebgaramond/fonts/EBGaramond12-Regular.otf

\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\usepackage[german]{babel}
%\defineshorthand{"|}{\char"200C}
\begin{document}
\addfontfeature{Language=German}
auffallend auffällig\\
auf"|fallend auf"|fällig\\
auf\/fallend auf\/fällig\\
auf{}fallend auf{}fällig\\
auf\char"200C fallend auf\char"200C fällig\\
auf‌fallend auf‌fällig
\end{document}

Best regards,
Georg


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

Reply via email to