我想将 IranNastaliq 字体与 xelatex 一起使用,当我尝试编译它时,下面的文档会引发错误。
\documentclass{article}
\usepackage{xepersian}
\defpersianfont\Nastaliq{IranNastaliq}
\makeatletter
\newenvironment{Nastaliq}{\N@stliq}{}
\makeatother
\begin{document}
\begin{Nastaliq}
این طرحنما میآزماید نگاره و اندازه و شکل را
\end{Nastaliq}
\end{document}
错误
! Package fontspec Error: The font "IranNastaliq" cannot be found.
For immediate help type H <return>.
...
l.6
?
Package fontspec Warning: Font "IranNastaliq" does not contain requested
(fontspec) Script "Persian".
Package fontspec Info: Could not resolve font "IranNastaliq/BI" (it probably
(fontspec) doesn't exist).
Package fontspec Info: Could not resolve font "IranNastaliq/B" (it probably
(fontspec) doesn't exist).
Package fontspec Info: Could not resolve font "IranNastaliq/I" (it probably
(fontspec) doesn't exist).
! Package fontspec Error: The font "IranNastaliq" cannot be found.
答案1
您不需要定义环境。
使用以下代码:
\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\defpersianfont\nas[Scale=4]{IranNastaliq}
\begin{document}
\begin{nas}
این طرحنما میآزماید نگاره و اندازه و شکل را
\end{nas}
\end{document}
输出:
当然,您必须首先确保已安装字体。
如果您是Windows 10
用户,请右键单击字体并选择
Install for all users
。如果您仅为自己的用户帐户安装它,Windows 会将副本放在 XeTeX 不会搜索的隐藏目录中(如果您想为所有用户安装它,则需要在字体控制面板中将其删除)。
在 Mac 上,您需要将其安装到系统字体册中。在 Linux 上,有几个地方可以放置它,包括/usr/local/share/fonts/
为每个人安装它,以及~/.fonts/
仅为您自己安装它。
如果你只想将字体用于 TeX,而不想在其他应用中使用,你可以将其放在本地 TeX 树的子目录中。具体目录会有所不同,但通常可以使用以下命令找到它:
kpsewhich --var-value=TEXMFLOCAL
例如,在 Windows 版本的 TeX Live 上,这通常是C:\texlive\texmf-local\
。在 MikTeX 上,您可能需要在 MikTeX 控制台中创建本地 TeX 树。放置文件的常规位置是在 下C:\texlive\texmf-local\fonts\opentype\IranNastaliq\
,您可能需要自己创建子文件夹,但这只是为了让您以后更容易找到和删除它们。将文件放在树中的任何位置对 XeTeX 都是一样的。
如果你在共享计算机上,并且没有权限更改 TeX 安装,则可以使用目录TEXMFHOME
而不是TEXMFLOCAL
。查找该目录的命令是
kpsewhich --var-value=TEXMFHOME
如果您只需要为一个项目使用该字体,或者您想要确保将字体的一个特定版本随项目存档,那么您可以在项目目录中保存一份副本,XeTeX 应该可以找到它。
无论你将字体放在哪里,你都可能需要更新 TeX 字体缓存。(此步骤是可选的。)为此,请以管理员身份运行 powershell 或命令提示符(在 Windows 上点击 Win-X)并运行fc-cache.exe -f -s -v
。如果你还使用 LuaLaTeX,你可能还需要运行luaotflaod-tool -f -u -p -v
。
祝你好运!