我正在尝试将波斯语文本添加到我的文档中,但它不接受我设置的字体并返回此错误:
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 字体并选择“为所有用户安装”。