[XeTeX] supplying missing glyphs?
Michiel Kamermans
pomax at nihongoresources.com
Mon Dec 6 12:35:01 CET 2010
Adam,
On 12/2/2010 4:20 PM, Adam McCollum wrote:
> Dear list members,
> I like the Hoefler Text font very much, but I see that it apparently
> doesn't have glyphs for a number of letters with diacritics, which I
> sometimes need for transliteration; please see the example text below.
> I've tried both unicode entry and the TeX way for entering these. Is
> there any way at all to "fake" these glyphs or otherwise supply them?
My thought would be to simply use a different font for those characters,
by making use of the interchartok functionality of XeTeX. I do this for
Chinese transliteration when I'm using Palatino Linotype as base font.
It has virtually no extended Latin characters, so I rely on FreeSerif
for the additional characters (and Caslon Pro for quotation, because
Palatino's quotation symbols are dreadfully ugly).
The snippet of preamble relevant to this:
\XeTeXinterchartokenstate = 1
% set up the fonts
\newfontfamily{\mainlatinfont}{Palatino Linotype}
\newfontfamily{\extlatinfont}{FreeSerif}
\newfontfamily{\quotefont}{Adobe Caslon Pro}
% character classes (xetex has 5 predefined classes: latin=0,
cjk=1,2,3, boundary=255)
\newcommand{\extlatinclass}{\newcharclass}
\newcommand{\quoteclass}{\newcharclass}
% extended latin characters not found in Palatino
\XeTeXcharclass `\ǒ \extlatinclass
...
% quotation looks dreadful in Palatino
\XeTeXcharclass `\’ \quoteclass
\XeTeXcharclass `\‚ \quoteclass
\XeTeXcharclass `\“ \quoteclass
\XeTeXcharclass `\” \quoteclass
% transition to latin (including boundary)
\XeTeXinterchartoks \extlatinclass 0 = {\mainlatinfont}
\XeTeXinterchartoks \quoteclass 0 = {\mainlatinfont}
\XeTeXinterchartoks \quoteclass 255 = {\mainlatinfont}
% transitions to extended latin
\XeTeXinterchartoks 0 \extlatinclass = {\extlatinfont}
\XeTeXinterchartoks \quoteclass \extlatinclass = {\extlatinfont}
% transitions to quotation
\XeTeXinterchartoks 0 \quoteclass = {\quotefont}
\XeTeXinterchartoks \extlatinclass \quoteclass = {\quotefont}
- Mike "Pomax" Kamermans
nihongoresources.com
More information about the XeTeX
mailing list