# [XeTeX] Font question

Jonathan Kew jonathan_kew at sil.org
Sun May 15 22:06:20 CEST 2005

On 15 May 2005, at 8:46 pm, Jonas Wellendorf wrote:

>
> På 15. mai. 2005 kl. 17.37 skrev Bruno Voisin:
>
>> Le 15 mai 05 à 18:49, Jonas Wellendorf a écrit :
>>
>>> This is not strictly a xetex related question or problem, but a
>>> problem I have encountered while using xetex.
>>> In my documents I need the character ǫ (hooked o). In regular latex
>>> I type \textpolhook{o} to get this character. In xetex using a font
>>> such as Gentium I simply enter alt+j and then o on my Norwegian
>>> keyboard. But how do I get the same character while using say
>>> Hoefler Text?
>>
>> Simply by installing and using the package xunicode.sty, from Ross
>> Moore and available at the XeTeX "Related packages" page. It
>> redefines many LaTeX control sequences to take advantage of the
>> Unicode character set. In particular, it contains:
>>
>
>>  In this palette, by selecting Glyph in the first pull-down menu and
>> Hoefler Text in the second you can see all characters in the font.
>> The ogonek accent is indeed there, at position 901.
>>
> Hm, I still don’t get it.
> The  procedure you described is the one I have been following with
> Gentium. But I don’t get the expected results with Hoefler.
> The following code will work fine with Lucida Grande but not with
> Hoefler:
>
>
> %!TEX TS-program = xelatex
> %!TEX encoding = UTF-8 Unicode
>
> \documentclass[12pt,draft]{article}
> \usepackage{fontspec,xunicode}
>
> \setromanfont[Mapping=tex-text]{Hoefler Text}
> %\setromanfont[Mapping=tex-text]{Lucida Grande}
>
> \begin{document}
> \textpolhook{o},  \textpolhook{O}, ǫ, Ǫ.
> \end{document}
>

I believe the xunicode package will map \textpolhook{o}, to the
precomposed Unicode character o-ogonek (U+01EB), and similarly for
other sequences; and this is also the character you get when you type

However, not very many fonts actually include this character; Gentium
does, and Lucida Grande, but not Hoefler or many of the other standard
Latin fonts. (As Bruno mentions, you can use the Character Palette to
find out exactly which fonts support a given character; you'll find
relatively few include the o-ogonek.)

Hoefler Text does have the ogonek accent itself, U+0328, ̨so if your
text includes the sequence <o, U+0328> rather than the single character
U+01EB, it will appear; however, the positioning of the accent on the
base letter may be poor, depending on the font design and whether it
includes AAT tables for precise accent positioning. (It probably
doesn't.)

You could make ǫ an "active character" expanding to the sequence <o,
ogonek>:

\catcodeǫ=\active \defǫ{o\char"0328\relax}

and see if the result is acceptable, but the people who should really
be solving this problem are the font vendors, who should be supporting
more complete character repertoires in these Unicode days.

JK

`