# spaces in font names

I have an updated TeX Live distribution.

Following Fonts for PolyTonic Greek I copied the code exactly:

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}

\newcommand\test[1]{%
#1\\{\fontspec{#1}Βίβλος γενέσεως Ἰησοῦ Χριστοῦ υἱοῦ Δαυὶδ υἱοῦ Ἀβραάμ.}
\par\medskip}

\setlength{\parindent}{0pt}

\begin{document}

\test{CMU Serif}
\test{EB Garamond}
\test{GFS Artemisia}
\test{GFS Bodoni}
\test{GFS Complutum}
\test{GFS Didot}
\test{GFS Olga}
\test{GFS Porson}
\test{GFS Solomos}
\test{Junicode}
\test{Linux Libertine O}
\test{Old Standard}
\end{document}


into c.tex and then did xelatex c. This returned the following error:

/usr/local/texlive/2013/texmf-dist/tex/latex/tipa/t3cmr.fd)kpathsea:make_tex: Invalid fontname CMU Serif', contains ' '

fontspec error: "font-not-found" l.14 \test{CMU Serif}

Thus its first objection is to a space in a font name. How can that linked example work with a whole list of fonts with spaces in their names? And it also appears that no font whose name contains the strings "Serif" and "CMU" is part of TeX Live 2013:

find /usr/local/texlive -type f | egrep -i serif | egrep -i cmu

What am I missing?

• You don't have an up-to-date TeX distribution, because you're running TeX Live 2013. In order to be able to call the font by their PostScript names, you need to make them visibl to your system. How to do it depends on your operating system. – egreg Jan 21 '15 at 21:19
• I have run "sudo tlmgr update --self" and "sudo tlmgr update --all". What else do I need to do to update TeXLive on this computer? – Jacob Wegelin Jan 22 '15 at 21:07
• You cannot update TeX Live 2013 any further. The current release is TeX Live 2014, and you can't directly upgrade from 2013 to 2014 (or, later this year, to 2015). You must reinstall TeX Live each year if you want to have access to tlmgr. Alternatively, you can update things manually. If your needs are simple, this is not too onerous. (I used to do this.) – jon Jan 25 '15 at 23:20
• find is no good in any case. It is not searching by filename - of course the names of the files do not have spaces in them! - but by the postscript name. You can see what the name of a given opentype font is, for example, using otfinfo -i <path-to-font> but to use it, fontconfig must also know about it. – cfr Oct 18 '15 at 0:38

On a GNU/Linux box with TeX Live, the simplest way to make all fonts in TeX Live available to the system is to copy the pointers to the font directories to /etc/fonts/conf.d and do fc-cache:
sudo cp \$(kpsewhich -var-value TEXMFSYSVAR)/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
`