1

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}
10
  • 2
    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, 2012 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, 2012 at 13:35
  • 4
    If you write in English, you should not place ordinal is superscript so you don't need any such feature.
    – yo'
    Oct 29, 2012 at 13:38
  • 2
    Use a font that supports this feature? Not all fonts support all OpenType features, as the warning clearly states.
    – Alan Munn
    Oct 29, 2012 at 13:41
  • 1
    @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, 2012 at 14:15

1 Answer 1

2

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:

Times New Roman

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:

TGTermes

3
  • 1
    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, 2012 at 15:25
  • @AlanMunn it's not quite bad, it's really bad, a superscript space would fit there.
    – yo'
    Oct 29, 2012 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
    – user4686
    Oct 29, 2012 at 18:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .