[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:
\oldstylenums=macro:
#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
fonts.
An appropriate redefinition would be:
\makeatletter
\renewcommand{\oldstylenums}[1]{%
\begingroup
\spaceskip\fontdimen\tw@\font %%% is this relevant, with AAT fonts
???
\usefont{U}{\rmdefault}{\f at series}{n}%
\mathgroup \symletters #1%
\endgroup}
\makeatother
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:
\let\oldstylenums\relax
\let\textos\textrm
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:
\DeclareFontShape{U}{hoefl}{m}{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.
Cheers,
Ross
>
> 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