[XeTeX] Help with XeTeX and Georgia (OTF)

Jonathan Kew jfkthame at googlemail.com
Fri Nov 13 01:19:47 CET 2009


On 12 Nov 2009, at 23:42, Matthew Mellon wrote:

> I'm a technical writer, and my company just switched standard  
> typefaces. For documents destined to both screen and paper, we are  
> to use Georgia.
>
> My Windows system has georgia.ttf, and I seem to be able to get  
> XeLaTeX to see it... but, when I compile the following document:
>
> \documentclass{article}
> \usepackage{fontspec}
> \usepackage{xunicode}
> \usepackage{xltxtra}
> \setmainfont[Mapping=tex-text]{Georgia}
> \fontspec[Ligatures={Common}]{Georgia}
> \begin{document}
> I like fish.
> \end{document}
>
> I don't get the fi ligature in my output. When I view Georgia in  
> Character Map I can see the ligature at address U+FB01. Is there any  
> way to tell XeTeX where the ligature is and make it use the glyph?

I believe the older Windows fonts like Georgia don't have any support  
for automatic ligatures -- they lack the OpenType tables that would  
implement this. So although the glyph exists, there's nothing telling  
xetex to use it.

In principle you could enter it as fi (U+FB01) in your text, but I  
really wouldn't advise that; besides being awkward to do, it will  
thoroughly mess up anything else you want to do with the text such as  
spell-checking or other processes.

A better approach would be to use a font-mapping to replace the  
character pair "fi" with U+FB01 on the fly. To do this, you could make  
a copy of the tex-text.map source file, add a mapping rule for the  
"fi" pair, and compile the new mapping to .tec format with  
teckit_compile; then load your modified mapping instead of the  
existing tex-text.

Alternatively, you can just accept that Microsoft decided not to give  
Georgia automatic fi-ligatures.

JK



More information about the XeTeX mailing list