4

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.

2 Answers 2

5

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
11
  • I get an error: "(/usr/share/texmf-texlive/tex/xelatex/fontspec/fontspec.cfg))kpathsea: Invalid fontname `TeX Gyre Pagella', contains ' '"
    – puzzlement
    Jul 13, 2011 at 6:50
  • 1
    then run fc-list | grep Pagella to get the correct family name. See edited answer
    – user2478
    Jul 13, 2011 at 6:56
  • I've put my output in the original question: "TeXGyrePagella" still seems to be right.
    – puzzlement
    Jul 13, 2011 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? Jul 13, 2011 at 7:04
  • 1
    @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.
    – user2478
    Jul 13, 2011 at 7:26
0

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/".

You must log in to answer this question.

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