xepersian、xetex 找不到字体

xepersian、xetex 找不到字体

我正在尝试将波斯语文本添加到我的文档中,但它不接受我设置的字体并返回此错误:

The font "XB Niloofar" cannot be found.

我刚刚使用安装了 texlive本指南。这是我试图编译的文档:

\documentclass[12pt,a4paper,twoside]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage{xepersian}
\settextfont[Scale=1, Mapping=arabic]{XB Niloofar}
\begin{document}
سلام!
\end{document}

我应该安装这些字体吗?还是有其他问题?谢谢

答案1

是的。您应该在操作系统中安装字体,或将字体用作外部文件。

如果你安装了字体文件(例如使用 Windows 控制面板/字体),那么你可以使用

\settextfont{XB Niloofar}

不需要mapping,因为xepersian默认设置了正确的映射。

如果你想使用你的字体,但不安装它,你的字体文件必须可以被你的引擎访问,即在你的工作目录中,或者在适当的位置texmf。在这种情况下使用ExternalLocation参数:

\settextfont[ExternalLocation]{xbniloofar.ttf}

或任何文件名。

顺便说一句,请确保您始终将其xepersian作为最后一个包加载。

答案2

这只是对 Linux 用户的回答,他们可以通过搜索引擎找到此页面:

如果你使用 Ubuntu 等 Linux 发行版,那么下载从打开的字体库中获取字体并将其复制到~/.fonts目录并运行以下命令将其添加到字体缓存中:

$ fc-cache -v ~/.fonts

然后重新编译您的文档。

答案3

您必须为所有用户安装字体。在 Windows 10 中,您可以右键单击 ttf 字体并选择“为所有用户安装”。

相关内容