[XeTeX] difficulty with ancient greek diacriticals in XeTeX with Gentium Plus

Georg Duffner g.duffner at gmail.com
Thu Jul 18 23:53:42 CEST 2013

Am 18.07.2013 15:56, schrieb Richard Cobbe:
> This may be slightly OT, since I think it's a font problem rather than a
> XeTeX problem, but I'm hoping someone here may be able to give me a few
> pointers.  If not, please forgive the noise.
> I recently switched from using Gentium
> (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=gentium) to
> Gentium Plus to typeset some classical Greek text, and I'm now getting
> different results when I use combining diacriticals in the XeTeX input.
> I've attached a very small XeTeX example that demonstrates the problem,
> along with the output I get.  (The .tex file is in UTF-8.)  The first line
> in the document body, as indicated, uses a precomposed Unicode character;
> the second line uses equivalent combining diacriticals.  At least, I
> thought they were supposed to be equivalent; as you can see from the PDF,
> the output is different.  In the PDF, the "precomposed" line is the desired
> output -- the diacriticals are supposed to be stacked, not superimposed.
> This same input file works fine (stacked rather than superimposed
> diacriticals) if I switch back to Gentium, which suggests that the
> difference is in the fonts, rather than in XeTeX.
> It's much more convenient for me to use the combining diacriticals, for
> various reasons that aren't all that interesting here.  Is there something
> in XeTeX/fontspec I can do to make that input work again, or is this a font
> problem?


The problem seems to be incomplete recomposition in the font.
Canonically, your precomposed ἆ decomposes to alpha + uni0313 + uni0342 
where uni0313 is "combining comma above" and uni0342 "greek 
perispomeni". This is also, what should result from decomposed input. 
Gentium Plus however seems to expect uni1FBF "greek psili" instead of 
uni0313. The sequence uni1FBF+uni0342 is replaced with uni1FCF "greek 
psili and perispomeni" by opentype feature "ccmp" in that font, which 
gets positioned correctly and looks identical to the precomposed glyph.

uni1FBF and uni1FCF shouldn’t be used as combining characters but it 
happens nevertheless, it might be worth reporting a bug to SIL.

In your case, two things impede proper output: uni0342 seems to miss a 
rule to have it placed correctly relatively to uni0313, and uni0313 
itself needs an alternate (smaller) glyph when followed by uni0342. 
Alternately one might fall back to a ligature of uni0313+uni0342 like 
GentiumPlus does with uni1FBF+uni0342 but if you’re so keen on the 
decomposed form I doubt you’d like that (I’m in fact interested in your 
motivation to prefer that form).

The simplest way for you to fix it, would be a teckit mapping from 
uni0313 to uni1FBF (and the same goes for uni0314 to uni1FFE "greek dasia").

Best regards,

EB Garamond: http://www.georgduffner.at/ebgaramond

More information about the XeTeX mailing list