# Fontspec — ordinal numbers not formatting properly

According to its manual, Fontspec contains an option

[VerticalPosition=Ordinal]


for setting the letters after a numeral (1st, 2nd, 3rd) as superscripts. When I try to use that option, though, it doesn't work. The document compiles with the letters unchanged, and the console says

Package Fontspec warning:

OpenType feature 'VerticalPosition=Ordinal' not available for font "Times New Roman", &c.

Does anyone know how to fix this?

%preamble
\documentclass[symmetric]{tufte-handout}
\usepackage[LY1]{fontenc}
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{lettrine}
\defaultfontfeatures{Mapping=tex-text}

\setromanfont{Times New Roman}
\setsansfont{Gill Sans}
\setmonofont{Monaco}

\fontspec[VerticalPosition=Ordinal]{Times New Roman}

\begin{document}

1st 2nd 3rd

\end{document}

-
Welcome to TeX.sx! Please add a minimal working example (MWE) that illustrates your problem. It is considered a lot better to put in some code that will compile, as it makes it a lot easier for us to copy it into our text editor and work with it, and see exactly what it is you are trying to do. Also, is the font you are using in the OpenType (.otf) format? – Silke Oct 29 '12 at 13:34
Welcome to TeX.SX! OpenType fonts are not required to have all features that can are defined in the standard. – egreg Oct 29 '12 at 13:35
If you write in English, you should not place ordinal is superscript so you don't need any such feature. – yo' Oct 29 '12 at 13:38
Use a font that supports this feature? Not all fonts support all OpenType features, as the warning clearly states. – Alan Munn Oct 29 '12 at 13:41
@crmdgn The OpenType feature is ordn and is implemented by a table that is part of the font. The table maps the relevant lowercase letters to ordinals in the context of a numeral. fontspec has nothing to do with this other than giving you an interface to the relevant font feature. – Alan Munn Oct 29 '12 at 14:15

This warning is generated when a font (such as Times New Roman) does not support the OpenType feature you want, this is the case in one of two situations:

1. The Font is in TrueType (.ttf) format, not OpenType (.otf).
2. The creator of the font did not include that particular OpenType feature.

Personally I've never seen Times New Roman in OpenType, I therefore assume the first is applicable in your situation.

The solution one of the following:

1. Get an OpenType version of the font with the required OpenType feature.
2. Get an alternative font in the OpenType format with the required OpenType feature.
3. Don't use the feature.

Because the feature you want is hard to find, I recommend using option 3. It requires more work but at least it does work:

\documentclass[symmetric]{tufte-handout}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Times New Roman}
\begin{document}
1\textsuperscript{st} 2\textsuperscript{nd} 3\textsuperscript{rd}
\end{document}


Result:

It doest complain about Small-caps not being available. I recommend you use a free OpenType alternative like TeX Gyre Termes which looks like this:

-
The kerning on the 1 is quite bad. If one were going to do this regularly, (which isn't recommended for English typography) I would add a \kern-.1em before the \textsuperscript command. – Alan Munn Oct 29 '12 at 15:25
@AlanMunn it's not quite bad, it's really bad, a superscript space would fit there. – yo' Oct 29 '12 at 15:53
The 10 digits have all the same width of 5.0 pt, and the superscript on 1 thus appears to be too far to the right. \makeatletter \@for\x:=0,1,2,3,4,5,6,7,8,9\do{% \setbox0=\hbox{\x}\x\ has a width of \the\wd0\\} \makeatother – jfbu Oct 29 '12 at 18:07