[XeTeX] Zero Width Non Joiner, or how not to make a ligature

John Was john.was at ntlworld.com
Thu Nov 15 14:47:28 CET 2007

Of course one would also want to ensure that in e.g. auf|fal|lend the two 
legitimate points for discretionary hyphenation were also preserved.  So 
possibly instead {\ff}, with \ff defined to do everything that is required 
(e.g. \discretionary{f-}{f}{\char"B4} or whatever the 21st-century 
equivalent of that is!) - assuming such an obvious bit of coding isn't too 
distracting for the user.


----- Original Message ----- 
From: "François Charette" <firmicus at ankabut.net>
To: "Unicode-based TeX for Mac OS X and other platforms" <xetex at tug.org>
Sent: Thursday, November 15, 2007 1:22 PM
Subject: JunkEmail: Re: [XeTeX] Zero Width Non Joiner, or how not to make a 

> I tried it in Fontforge in the metric window, and of Computer Modern, 
> Gentium
> and Linux Libertine, only Computer Modern works as espected.
Not sure I understand what you mean...

> I don’t think
> {\addfontfeature{Ligatures=NoCommon} fi}
> is so handy, because that would delete all fi ligatures. In Fraktur, it is
> possible to have a ligature in one word and no ligature in another
> compare “hoffen” with “auffangen”, the second one should be “auf|fangen” 
> with
> no ligature.
You're right.
By the way, if you don't like inputing invisible glyphs in your editor,
you could use a font mapping (like tex-text.map) specifically for
Fraktur with this line in it:

U+007C > U+200C; | -> ZWNJ

But of course, you first need to find a Fraktur font which supports
ZWNJ, which does not seem obvious!

An alternative would be to make a character (such as |) active in your
Fraktur environment, and define it as a \strut : this will also prevent
the ligature.


XeTeX mailing list
postmaster at tug.org

More information about the XeTeX mailing list