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

François Charette firmicus at ankabut.net
Thu Nov 15 13:03:20 CET 2007


Gerrit Sangel a écrit :
> Hello,
>
> I just asked on the Unicode mailing list concerning encoding of Fraktur in 
> Unicode. Because Fraktur sometimes does not use ligatures, it must have the 
> the option to disable ligature between two characters. They told me I should 
> include a Zero Width Non Joiner between the two characters.
>
> I just tried this with XeTeX (although with the .otf Computer Modern files, 
> because I don’t have a full featured Opentype Fraktur font), but this does 
> not seem to work?
>
> I just tried it this way:
>
> fi – works fine, a fi ligature is produced
>
> f[ZWNJ]i – does not work, Xelatex produces the following error:
>
> “** WARNING ** No Unicode mapping available: GID=1, name=(none)”
>
> It then just displays a 
>
> f´i 
>
> Is this maybe a missing feature of the font or does maybe XeTeX not support 
> this?
>
> I’ve loaded the font with 
> \setromanfont{LMRoman10 Regular}
> Should I add some options there?
>
>
> I’ve included the source file and the pdf, I hope you can help me.
>
> Thanks!
>
> Gerrit Sangel
>   
>   

It is a missing feature of the font. Try it with Charis SIL: it works :-)

(BTW, with Latin Modern I don't get f´i but the ligature fi as in the 
previous line...)

Another way to suppress the ligature is with

{\addfontfeature{Ligatures=NoCommon} fi}

but again this depends whether the font supports it. Latin Modern does not.

Best,
François



More information about the XeTeX mailing list