[XeTeX] OldStyle Numbers not changeable to Lining Numbers

Peter Baker psb6m at virginia.edu
Tue Aug 17 05:24:51 CEST 2010

There are four sets of numbers in Libertine, but how they are invoked 
seems not to have been thought through completely. For the number one, 
for example, there are these:

one (full height, fixed width)
one.fitted (full height, proportional width)
one.oldstyle (oldstyle height ("lower-case"), proportional width)
one.taboldstyle (oldstyle height, fixed width)

one is the default, so you start with that. The various OpenType 
features are supposed to do this:

lnum (Lining Numbers) converts oldstyle-height numbers to full-height
tnum (Tabular Numbers) converts proportional-width numbers to fixed-width
pnum (Proportional Numbers) converts fixed-width numbers to 
onum (Old-Style numbers) converts full-height numbers to oldstyle-height

The trouble is, the lookups are ordered exactly as above. So lnum 
(Lining Numbers) can *never* be invoked, since it can operate only on 
one.oldstyle or one.taboldstyle, which can only be produced by lookups 
that come later in the sequence. Likewise, tnum (Tabular Numbers) can 
never be invoked. pnum is supposed to convert one to one.fitted or 
one.taboldstyle to one.oldstyle, but the latter of these can never be 
invoked. Finally onum, being last in the list, works as expected, 
converting either one to one.taboldstyle or one.fitted to one.oldstyle.

So as matters stand you have these options:

- Leave all these lookups off for the default full-height fixed-width 

- Turn on pnum only for full-height proportional-width numbers

- Turn on onum only for oldstyle-height fixed-width numbers

- Turn on pnum and onum for oldstyle-height proportional-width numbers

The two lookups, pnum and onum, used in the four possible combinations, 
give you the four number styles. But you shouldn't try to use lnum and 
tnum at all, even though they are present in the font, for they have no 

I hope this helps.


On 08/16/2010 08:29 PM, Peter Baker wrote:
> There's definitely something odd going on with the font. I can't get 
> it to work in FontForge either. The OpenType lookups re: numbers look 
> a tangle. I'll try to figure out what's going on, then maybe we can 
> submit a bug report.
> Peter
> On 08/16/2010 07:06 PM, Fr. Michael Gilmary wrote:
>> Tobias Schoel wrote:
>>> Minimal Example:
>>> \documentclass{article}
>>> \usepackage{fontspec}
>>> \defaultfontfeatures{Numbers={OldStyle}}
>>> \setmainfont[Mapping=tex-text]{Linux Libertine O}
>>> \begin{document}
>>> A0123456789
>>> \addfontfeatures{Numbers={Lining}}A0123456789
>>> \end{document}
>>> XeLaTeX from current TeX-Live 2010, Linux Libertine v 4.7.5 
>> FWIW, we have Linux Libertine v 4.4.1 with MacTeX09, and the same 
>> problem exists. With another font, like Minion Pro, however, it works 
>> correctly.
>> Maybe a bug with Libertine?
> --------------------------------------------------
> Subscriptions, Archive, and List information, etc.:
>  http://tug.org/mailman/listinfo/xetex

More information about the XeTeX mailing list