TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Here's my input file:


abcde ABCDE

{\scshape abcde ABCDE}

\textsc{abcde ABCDE}

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

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.

share|improve this question
up vote 4 down vote accepted

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

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
xunicode.sty 2010/11/06 v0.96 provides access to latin accents and many othe
r characters in Unicode lower plane
share|improve this answer
I get an error: "(/usr/share/texmf-texlive/tex/xelatex/fontspec/fontspec.cfg))kpathsea: Invalid fontname `TeX Gyre Pagella', contains ' '" – puzzlement Jul 13 '11 at 6:50
then run fc-list | grep Pagella to get the correct family name. See edited answer – Herbert Jul 13 '11 at 6:56
I've put my output in the original question: "TeXGyrePagella" still seems to be right. – puzzlement Jul 13 '11 at 7:00
It looks odd that your fontspec is in tex/xelatex/ I would expect in tex/latex/. Also it shouldn't complain about spaces in the name. Are you sure that you have an up-to-date fontspec? – Ulrike Fischer Jul 13 '11 at 7:04
@puzzlement: all Linux distributions are unable to handle a TeX distribution. It is too big to split into several packages which can then easily be updated. The reason why an installation of texlive from tug.org/texlive really makes sense. – Herbert Jul 13 '11 at 7:26

The OTF name for the font is "TeX Gyre Pagella". The PostScript name is "TeXGyrePagella". If you only see the PostScript name, it means xelatex can't find the OTF file. As other examples discuss, this is a bug of the packaging, either TeX Live or Debian. Some PostScript fonts are installed in system folders, but not the small caps. The workaround is to copy the .otf file (that you found) into "~/.fonts/".

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.