[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 
<alt-j, o> on your keyboard.

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



More information about the XeTeX mailing list