XeLaTeX 找不到字体

XeLaTeX 找不到字体

是的,我见过问题。(1) 这个问题已有五年历史,(2) 给出的答案对我来说毫无用处,(3) 我没有足够的声誉来发表评论(并且将问题作为答案发布似乎是错误的)。

这种情况对我来说有点令人困惑。我正在尝试编译西里尔字母 Hello World由 Grigory M 提出,无论我做什么,XeLaTeX都拒绝加载任何系统字体。

我做了什么:

  • 确保已安装 Linux Libertine;
  • 尝试运行fc-list并在文档中使用其他字体;
  • 尝试使用*.otf文件名作为命令的参数\newfontfamily\russianfont,按照建议这里
  • 尝试复制*.otf文件,然后以 root 和普通用户身份~/.fonts运行fc-cache -f -v
  • 尝试将texlive-fontconfig.conf文件从/var/lib/texmf/fonts/conf复制到/etc/fonts/conf.d/09-texlive.conf,然后fc-cache -fsv按照建议以 root 身份运行这里

什么都没帮助。我只是一直看到同样的错误:

fontspec error: "font-not-found"! The font "Linux Libertine" cannot be found. ...sianfont[Script=Cyrillic]{Linux Libertine}

完整日志是这里

我在 OpenSuSE 13.2 上使用 TeXLive2016。我通过启用TeXLiveRPM repo,本质上是一个将 CTAN 文件转换为 RPM 包的工具。

任何帮助都将非常感激。

为了完整起见,下面是代码本身:

\documentclass{article}
\usepackage{fontspec} % loaded by polyglossia, but included here for transparency 
\usepackage{polyglossia}
\setmainlanguage{russian} 
\setotherlanguage{english}

% XeLaTeX can use any font installed in your system fonts folder
% Linux Libertine in the next line can be replaced with any 
% OpenType or TrueType font that supports the Cyrillic script.

\newfontfamily\russianfont[Script=Cyrillic]{Linux Libertine}

\begin{document}
Привет
\begin{english}
Hello! 
\end{english}
\end{document}

答案1

好的,我明白了(非常感谢@alwaysask)。

事实证明我实际上必须指定*.otf文件的名称(而不是抽象的、人性化的字体名称)作为命令的参数\newfontfamily\russianfont,正如建议的那样这里。那篇文章中唯一错误的地方是你必须指定完全的文件名(带扩展名)。

答案2

简单的解决方案不是只需双击即可运行。右键单击字体,然后“为所有用户安装“。

相关内容