[XeTeX] Typographic consistency (was: CJK and ideographic font names)

Bruno Voisin bvoisin at mac.com
Mon Sep 13 22:38:36 CEST 2004


Le 13 sept. 04, à 19:21, Paolo Matteucci a écrit :

> Just some minor detail: I'm unable to typeset the modified 
> "canton.tex" properly. TeX complains about TS1/hoefl/m/n' being 
> undefined: do I need some extra packages for that or just the latest 
> version of your utf8accents.sty?  [...By the way, there should be no 
> "o-/" ligature in «me misero/a».]

I thought of several possible explanations, linked with incorrect 
\encodingdefault, dispensable \usepackage{textcomp}, missing CM-Super 
fonts, conflicting \oldstylenums, but on closer inspection none of 
these explanations seems to make sense and now I'm getting short of 
time.

BTW, after some experimentation -- unrelated to your example -- I'm now 
having fun with the following font declarations, yielding output with 
old-style ligatures in text (à "La Pléiade", for those familiar with 
the French "intello" book series) and, in math, oldstyle numbers in 
standard size and modern-style numbers in superscripts and subscripts 
(emulating the look of CUP maths books from the 60s and 70s). Such 
effect is easy to achieve in plain TeX (with \textfont, \scriptfont 
etc.), but in LaTeX, which assumes all math sizes come from the same 
font in different sizes, the only trick I could think of is messing 
with the NFSS sizes in points -- so that this works more or less, 
assuming you're not using \tiny or similar.

Here are the declarations (taking into account the inconsistent present 
names of AAT features for Hoefler):

\usepackage{utf8accents}

\DeclareFontFamily{U}{hoeftxt}{}
\DeclareFontShape{U}{hoeftxt}{m}{n}
   {<-> "Hoefler\space Text:
           Ligatures=Rare\space Ligatures,Diphthong\space Ligatures%;
%          Character\space Alternates=Alternates
        "}{}
\DeclareFontShape{U}{hoeftxt}{m}{it}
   {<-> "Hoefler\space Text\space Italic:
           Ligatures=Rare\space Ligatures,Diphthongs%;
%          Character\space Alternatives=Normal\space Vertical\space 
Position
        "}{}
\DeclareFontShape{U}{hoeftxt}{b}{n}
   {<-> "Hoefler\space Text\space Black:
           Ligatures=Rare\space Ligatures,Diphthongs%;
%          Character\space Alternatives=Alternates
        "}{}
\DeclareFontShape{U}{hoeftxt}{b}{it}
   {<-> "Hoefler\space Text\space Black\space Italic:
           Ligatures=Rare\space Ligatures,Diphthongs%;
%          Character\space Alternatives=Lower\space Case\space Numbers
        "}{}
\DeclareFontShape{U}{hoeftxt}{bx}{n}
   {<-> ssub * hoeftxt/b/n}{}
\DeclareFontShape{U}{hoeftxt}{bx}{it}
   {<-> ssub * hoeftxt/b/it}{}
\DeclareFontShape{U}{hoeftxt}{m}{sc}
   {<-> "Hoefler\space Text:
           Letter\space Case=Small\space Caps%;
%          Character\space Alternates=Alternates
        "}{}
\renewcommand{\encodingdefault}{U}
\renewcommand{\rmdefault}{hoeftxt}

\DeclareFontFamily{U}{hoefmat}{}
\DeclareFontShape{U}{hoefmat}{m}{n}
   {<-9> "Hoefler\space Text:
          Number\space Case=Upper\space Case\space Numbers
         "
    <9-> "Hoefler\space Text
         "}{}
\DeclareFontShape{U}{hoefmat}{m}{it}
   {<-9> "Hoefler\space Text\space Italic:
            Smart\space Swashes=!Line\space Final\space Swashes,
                                !Line\space Initial\space Swashes;
            Number\space Case=Uppercase\space Numbers
         "
    <9-> "Hoefler\space Text\space Italic:
            Smart\space Swashes=!Line\space Final\space Swashes,
                                !Line\space Initial\space Swashes
         "}{}
\DeclareFontShape{U}{hoefmat}{b}{n}
   {<-9> "Hoefler\space Text\space Black:
            Number\space Case=Diphthong\space Ligatures
         "
    <9-> "Hoefler\space Text\space Black
         "}{}
\DeclareFontShape{U}{hoefmat}{b}{it}
   {<-9> "Hoefler\space Text\space Black\space Italic:
            Smart\space Swashes=!Line\space Final\space Swashes,
                                !Line\space Initial\space Swashes;
            Number\space Case=Normal\space Vertical\space Position
         "
    <9-> "Hoefler\space Text\space Black\space Italic:
            Smart\space Swashes=!Line\space Final\space Swashes,
                                !Line\space Initial\space Swashes
         "}{}
\DeclareFontShape{U}{hoefmat}{bx}{n}
   {<-> ssub * hoefmat/b/n}{}
\DeclareFontShape{U}{hoefmat}{bx}{it}
   {<-> ssub * hoefmat/b/it}{}
\newcommand{\mtdefault}{hoefmat}

\SetSymbolFont{operators}{normal}{\encodingdefault}{\mtdefault}{m}{n}
\SetSymbolFont{operators}{bold}  {\encodingdefault}{\mtdefault}{b}{n}
\SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\mtdefault}{m}{n}
\SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{\mtdefault}{b}{n}
\SetMathAlphabet{\mathit}{normal}{\encodingdefault}{\mtdefault}{m}{it}
\SetMathAlphabet{\mathrm}{bold}  {\encodingdefault}{\mtdefault}{b}{n}
\SetMathAlphabet{\mathit}{bold}  {\encodingdefault}{\mtdefault}{b}{it}

yielding this kind of output (with Lucida used for maths):

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Image 1.pdf
Type: application/pdf
Size: 72083 bytes
Desc: not available
Url : http://tug.org/pipermail/xetex/attachments/20040913/3700be34/Image1-0001.pdf
-------------- next part --------------


It looks strange, probably snobbish, one certainly gets tired of it 
fairly rapidly, and submitting a paper in this form would very likely 
be considered pedantic, but for the moment it's quite fun for 
proofreading!

Bruno Voisin


More information about the XeTeX mailing list