[HarfBuzz] Fwd: ZWNJ is being ignored

Behdad Esfahbod behdad at behdad.org
Tue Apr 30 13:49:00 PDT 2013


On 13-04-28 05:27 PM, Georg Duffner wrote:
> Hi,
> 
> I posted this on the XeTeX list. Khaled meant it could have something to do
> with
> http://cgit.freedesktop.org/harfbuzz/commit/?id=607feb7cff0e50f8738d2e49ca463fc9d7d494de
> 
> 
> Recently I’ve changed the behaviour of liga. The f-ligatures are now formed by
> component glyphs which get substituted by means of contextual chaining
> lookups. Thus, instead of
> 
> sub f f by f_f; the lookup is now sub f' f by f._f;

What you should be doing is:

sub f' f' by f._f f;

Not sure if the format supports that.  However, I understand that this would
cause a problem in that every other f won't be substituted.

We really do want to ignore ZWNJ in backtrack/lookahead.  The problem is that
you are abusing those contexts to do a ligation using single substitutions.

Jonathan, do you have any suggestions?

behdad


> This way I need much less glyphs in the font and it’s much easier to produce
> the whole range of ligatures.
> 
> 
> -------- Original-Nachricht --------
> Betreff: ZWNJ is being ignored
> Datum: Sun, 28 Apr 2013 14:56:11 +0200
> Von: Georg Duffner <g.duffner at gmail.com>
> An: xetex at tug.org >> Unicode-based TeX for Mac OS X and other platforms
> <xetex at tug.org>
> 
> 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
> 
> 
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz

-- 
behdad
http://behdad.org/



More information about the HarfBuzz mailing list