[Tex/LaTex] How to produce TeX Gyre Pagella smallcaps using xelatex

fontsfontspecsmall-caps

Here's my input file:

\documentclass{article}
\usepackage{fontspec} 
\setmainfont[Mapping=tex-text]{TeXGyrePagella}

\begin{document}
abcde ABCDE

{\scshape abcde ABCDE}

\textsc{abcde ABCDE}
\end{document}

Here's the xelatex rendering:

As best I can understand from the documentation, the two small capitals commands should work because otfinfo shows them as being a feature of the TeX Gyre Pagella font:

$ otfinfo -f /usr/share/texmf/fonts/opentype/public/tex-gyre/texgyrepagella-regular.otf
...
smcp    Small Capitals
...

System details: Ubuntu 11.04, texlive-xetex version is 2009-11.

Here's the output of fc-cache | grep Pagella. It seems to suggest that the string TeXGyrePagella is correct:

$ fc-list | grep Pagella
TeXGyrePagella:style=BoldItalic
TeXGyrePagella:style=Regular
TeXGyrePagella:style=Bold
TeXGyrePagella:style=Italic

If I change the \setmainfont command to: \fontspec[Mapping=tex-text,Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/]{texgyrepagella-regular.otf},
I get this error output:

kpathsea: Running mktextfm texgyrepagella-regular
/usr/share/texmf/web2c/mktexnam: Could not map source abbreviation  for texgyrepagella-regular.
/usr/share/texmf/web2c/mktexnam: Need to update ?
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input texgyrepagella-regular
This is METAFONT, Version 2.718281 (TeX Live 2009/Debian)


kpathsea: Running mktexmf texgyrepagella-regular
! I can't find file `texgyrepagella-regular'.
<*> ...; nonstopmode; input texgyrepagella-regular

Please type another input file name
! Emergency stop.
<*> ...; nonstopmode; input texgyrepagella-regular

Transcript written on mfput.log.
grep: texgyrepagella-regular.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input texgyrepagella-regular' failed to make texgyrepagella-regular.tfm.
kpathsea: Appending font creation commands to missfont.log.

! Font \zf@basefont=texgyrepagella-regular.otf at 10.0pt not loadable: Metric (
TFM) file or installed font not found.
\zf@fontspec ...ntname \zf@suffix " at \f@size pt 
                                              \unless \ifzf@icu \zf@set@...
l.3 ...blic/tex-gyre/]{texgyrepagella-regular.otf}

The file /usr/share/texmf/fonts/opentype/public/tex-gyre/texgyrepagella-regular.otf definitely exists on my system.

Best Answer

When using

\setmainfont[Mapping=tex-text]{TeX Gyre Pagella}

with the spaces in the OTF font family name I get:

enter image description here

Searching for the family names:

voss@shania:~> fc-list | grep Pagella
TeX Gyre Pagella:style=Italic
TeX Gyre Pagella:style=Bold Italic
TeX Gyre Pagella:style=Regular
TeX Gyre Pagella:style=Bold
voss@shania:~> 

my fontspec versions:

*File List*
fontspec.sty 2011/02/26 v2.1f Advanced font selection for XeLaTeX/LuaLaTeX
fontspec-patches.sty 2011/02/26 v2.1f Advanced font selection for XeLaTeX/Lu
aLaTeX
xunicode.sty 2010/11/06 v0.96 provides access to latin accents and many othe
r characters in Unicode lower plane
fontspec.cfg