Latino Elongated, XeTeX and small capitals

I'm using the Latino Elongated LET font with XeTeX and I can't get small capitals to display:

\documentclass{scrbook}

\usepackage{fontspec}
\newfontfamily\lelong{Latino Elongated LET}
\newfontfamily\lelongsc[SmallCapsFeatures={Letters=SmallCaps}]{Latino Elongated LET}

\begin{document}

\lelong \scshape Small capitals

\lelongsc \scshape Small capitals

\newfontinstance\scshape[Letters=SmallCaps]{Latino Elongated LET}

\lelong \scshape Small capitals

\end{document}


gives me three lines with normal characters:

How can I get small capitals? It is possible that this font is lacking sc functionalities?

Note:

The third attempt (\newfontinstance) gives a warning in the logs:

Package fontspec Warning: OpenType feature 'Letters=SmallCaps' (+smcp) not available for font "Latino Elongated LET Plain:1.0/ICU" at 10.95pt, with script 'Latin', and language 'Default'.

-
I get the message that small caps are not present in the font. You can't have what is not in the font. –  egreg Jun 8 '11 at 15:15
have you checked if the font really has the small caps feature with a otfinfo -f /path/to/font? –  henrique Jun 8 '11 at 15:15
@egreg: OK, so maybe I need another Latino Elongated font? –  ℝaphink Jun 8 '11 at 15:18
@henrique: the file is a ttf, so I can't run that. Is there an equivalent for true type/T1 fonts? –  ℝaphink Jun 8 '11 at 15:19
@Raphink a few truetype fonts do have opentype features that can be displayed with otfinfo... If it doesn't, the font simply lacks the functionality and you can't have smallcaps with it. (Some commercial fonts come in bundles with a separated file for smallcaps... if that is the case, you'll need to create a \newfontface to use it.) –  henrique Jun 8 '11 at 15:30

3 Answers

The font is a TrueType font that doesn't have "small caps" functionality. That is, the font just doesn't have any small caps.

-
Are you sure it doesn't contain small caps in a private Unicode area? –  Andrey Vihrov Jun 8 '11 at 16:14
@Andrey: that was actually my question, I'd love to know how to know that. –  ℝaphink Jun 8 '11 at 20:01
@Raphink Open the font with fontforge or another utility (I have OTM_Light) and look at the glyphs. I can confirm that there is nothing in the PUA. –  egreg Jun 8 '11 at 20:12
OK, thanks. I don't have fontforge. I thought fontconfig had a tool for that, maybe fc-cat can tell me this? –  ℝaphink Jun 8 '11 at 20:17
@Raphink fc-cat only lists fonts known to the font library of fontconfig. Look at fontforge.sourceforge.net –  egreg Jun 8 '11 at 20:22

You can cheat:

\newcommand\fakesc[1]{\scalebox{0.7}{\MakeUppercase{#1}}}


Some things to note:

• This requires the graphicx package
• Uppercase letters in the fakesc scope get lost. (Although I'm sure some TeX-fu can fix that...
• The actual amount of scaling should probably depend on the exact font used...
-
I've actually cheated already in another way. Eventually, I'll see about purchasing the OTF version of the font which I believe has proper sc. –  ℝaphink Jun 8 '11 at 20:02

I found a cleaner solution:

• open the TTF in fontforge;
• create small caps;
• save the font as OTF;
• use the new font;
• remember to not distribute non-free modified fonts on github ;-)
-
So long as the font licence allows you to do this. –  egreg Jul 20 '11 at 9:19
The font doesn't allow me to redistribute, but can it prevent me from making private changes? Isn't that the same as stretching it in inkscape for example? –  ℝaphink Jul 20 '11 at 9:30