XeTeX 和 Fedora:无法使用 OTF 字体

XeTeX 和 Fedora:无法使用 OTF 字体

当尝试使用 XeLaTeX 编译文档时,我收到以下错误:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! 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>.
!...............................................  

现在,我已经安装了字体文件,/usr/share/texlive/texmf-dist/fonts/opentype/public/libertineotf包含我需要的字体文件。

但是 Fontconfig 看不到这些文件。我尝试使用 添加目录fc-cache,它报告已添加 30 种新字体,但运行时我仍然看不到它们fc-list

现在,一切在 Linux Mint 上运行良好,但我现在使用 Fedora,它不知何故不再运行了。

我究竟做错了什么?

我正在使用 Fedora 18,所有与 latex 相关的东西都是从官方仓库安装的。 This is XeTeX, Version 3.1415926-2.5-0.9999 (TeX Live 2013/dev)这是 xelatex 报告的内容。Fontconfig 是 Fedora 18 附带安装的。

答案1

fontspec手册第 4.2 节(第 6 页)指出:

4.6 按文件名

XETEX 和 LuaTEX 还允许通过文件名而不是字体名加载字体。当您拥有大量字体时,有时您可能不希望将它们全部安装在系统的字体目录中。在这种情况下,从磁盘上的其他位置加载它们会更方便。在 XETEX 中,在加载 TEX 发行版中存在的 OpenType 字体(例如 /usr/local/texlive/2010/texmf-dist/fonts/opentype/public)时,此技术也是必需的。这些位置中的字体对 XETEX 可见,但不能通过字体名加载,只能通过文件名加载;LuaTEX 没有此限制。

这意味着你不能简单地使用

\setmainfont{Linux Libertine O}

使用 XeLaTeX,除非您的系统看到该文件。

为了在 XeLaTeX 中使用 TeX 分发字体,您需要手动加载它们,这非常繁琐。

最好的选择是使用libertineTeX 包 ( \usepackage{libertine})。

相关内容