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

Ross Moore ross at maths.mq.edu.au
Thu Sep 16 00:32:40 CEST 2004

Hi Paolo,

On 16/09/2004, at 4:19 AM, Paolo Matteucci wrote:

> Il giorno 14/set/04, alle 00:26, Ross Moore ha scritto:
>> Here's how I overcame a similar problem with  OML/hoefl/m/n
>> that was related to the oldstyle numerals, I think:
>> \DeclareFontShape{OML}{hoefl}{m}{n}%
>>    {<-> "Hoefler\space Text"}{}
>> You should be able to do the same for TS1:
>> \DeclareFontShape{TS1}{hoefl}{m}{n}%
>>    {<-> "Hoefler\space Text"}{}
> Actually, the latter doesn't seem to work, but the former does.
> On commenting out the line
> 	\usepackage{textcomp}
> and adding
> \DeclareFontShape{OML}{hoefl}{bx}{it}%
>    {<-> "Hoefler\space Text\space Black"}{}
> I was finally able to reproduce your output without errors.

> I just don't like the fact that, in order to obtain *upright* old 
> style numerals, you have to redefine {OML}...{it} to the corresponding 
> non-italic version... and what if I need to use both [bold] upright 
> and [bold] italic old digits?

Well, I was a bit lazy and redefined the font for OML.
It would be better to redefine the macro for \oldstylenums,
which currently looks like:

#1->\begingroup \spaceskip \fontdimen \tw@ \font \usefont 
{OML}{\rmdefault }
{\f at series }{it}\mathgroup \symletters #1\endgroup .
l.70 \show\oldstylenums

Notice how it explicitly calls for OML but with the upright font
assigned to \rmdefault .

That is because of where these characters are found in standard TeX 

An appropriate redefinition would be:

     \spaceskip\fontdimen\tw@\font %%%  is this relevant, with AAT fonts 
     \usefont{U}{\rmdefault}{\f at series}{n}%
     \mathgroup \symletters #1%

Where you need to ensure that your \rmdefault font is setup to use
the oldstyle numbers -- assuming that it has them; otherwise use
a different font here.

In fact "Hoefler Text" seems to have *only* oldstyle numerals,
so it is much simpler, in your example, to just use redefinitions
of the switches as follows:


This cannot be expected to be sufficient with all choices of font.

In general, provided your normal text font supports oldstyle numerals,
and you don't want to use a mixture of oldstyle and newstyle,
there shouldn't be a need for a command such as  \oldstylenums .
But of course you have legacy documents using it, so a simple
redefinition as above (using \let ) should suffice.

If your normal text font does *not* support oldstyle, then you will
need to get them from a different font. You'll then need to have
a switch for upright and another for italiced versions.

Also, there should be a way to get rid of that  /o problem,
using a font specification. But I cannot find the right one.
This does *not* do it:

    {<-> "Hoefler\space Text\space Italic:%   has  /o -->  ø   ligature
  Ligatures=!Common\space Ligatures,!Rare\space 
Ligatures,!Diphthong\space Ligatures%;

> Thank you very much for help -and thank you, Bruno, for your tips on 
> rich fonts.

Hope this helps a bit more, and maybe someone else can
provide the right ideas for the missing bits.



> 	Paolo
> _______________________________________________
> XeTeX mailing list
> postmaster at tug.org
> http://tug.org/mailman/listinfo/xetex
Ross Moore                                         ross at maths.mq.edu.au
Mathematics Department                             office: E7A-419
Macquarie University                               tel: +61 +2 9850 8955
Sydney, Australia                                  fax: +61 +2 9850 8114

More information about the XeTeX mailing list