# XeTeX and Fedora: can't use OTF fonts

When trying to compile a document with XeLaTeX, I'm getting the following error:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "Linux Libertine Slanted O" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................

Now, I've got the font files installed, /usr/share/texlive/texmf-dist/fonts/opentype/public/libertineotf contains the font files that I need.

Fontconfig doesn't see those files, however. I tried adding the directory with fc-cache and it reports having added 30 new fonts, but I still can't see them when running fc-list.

Now it all kinda works well on Linux Mint, I'm on Fedora now, and it somehow doesn't work anymore.

What am I doing wrong?

I'm using Fedora 18, with everything latex related installed from the official repos. This is XeTeX, Version 3.1415926-2.5-0.9999 (TeX Live 2013/dev) is what xelatex reports. Fontconfig is the one installed that came with Fedora 18.

-
you should tell us which version of fedora you're (now) using. the banner that xetex produces when you start could help, too. things may be different if you're using a “too old” version of xetex, or of fontconfig. –  wasteofspace Jan 18 '13 at 10:17
@wasteofspace ok, I added the information you asked me to provide. –  polemon Jan 18 '13 at 10:40

In section 4.2 (p6) of the fontspec manual, it says:

4.6 By file name

XETEX and LuaTEX also allow fonts to be loaded by file name instead of font name. When you have a very large collection of fonts, you will sometimes not wish to have them all installed in your system’s font directories. In this case, it is more convenient to load them from a different location on your disk. This technique is also necessary in XETEX when loading OpenType fonts that are present within your TEX distribution, such as /usr/local/texlive/2010/texmf-dist/fonts/opentype/ public. Fonts in such locations are visible to XETEX but cannot be loaded by font name, only file name; LuaTEX does not have this restriction.

This means that you cannot simply use

\setmainfont{Linux Libertine O}

with XeLaTeX unless the file is seen by your system.

In order to use TeX distribution fonts with XeLaTeX, you need to load them by hand which gets very tedious.

Your best alternative is to use the libertine TeX package (\usepackage{libertine}).

-
it //is// the libertineotf package! I have installed this package, and you can even tell by the directory, it is installed. But still, fontconfig doesn't see it. It worked that way on Linux Mint, though –  polemon Jan 18 '13 at 11:52
fontconfig would not see it and the libertineotf package would not be using it either. When you say that it is the libertineotf package, what do you mean? are you actually loading it in your tex file is \usepackage{libertineoft}. At the point an MWE would be highly advantageous as we abviously do not have all the information. –  ArTourter Jan 18 '13 at 12:22
Ahh, I was a bit confused here: The distro has a package called <code>libterineotf</code>, I didn't try the latex package yet. –  polemon Jan 18 '13 at 12:59
The most recent libertine package also provides OpenType support. If you have that package (5.3.0 is the latest version) you should use the libertine package, not libertineotf (but libertineotf will tell you that as well). –  Silex Jan 18 '13 at 13:58
@Silex I must admit I am losing track with these:-) it used to be libertine, then they split it into libertine and libertineotf, and now you are telling me they have merged again?? Or am I getting it wrong? –  ArTourter Jan 18 '13 at 14:04