portableapp.com 是一款 Windows 应用程序,它(除了便携式应用程序套件外)还提供了一种在 Windows 计算机上安装字体的解决方法,无需管理员访问权限。解决方法的详细描述如下:
https://portableapps.com/support/platform#fonts
对于那些被困在用户权限较低的机器上、不允许使用 Windows 默认提供的字体以外的字体的人来说,这是一个很酷的功能。
这些字体(通过上面描述的方式安装)可以在 Word、Photoshop 等上完美访问。
但是,使用标准 fontspec 命令时,LaTeX(Lualatex、Xelatex)无法检测到这些字体。
错误消息指出:fontspec 错误:“font-not-found”
有人知道解决方法吗?
答案1
LuaTeX 和 XeTeX 可以通过路径加载字体。该fontspec
包为此提供了一个很好的界面。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{MinionPro}[
Path = /path/to/MinionPro/,
Extension = .otf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-It,
BoldItalicFont = *-BoldIt]
\begin{document}
Hello World!
\end{document}
这是字体的目录布局:
/path/to/MinionPro/
├── MinionPro-BoldIt.otf
├── MinionPro-Bold.otf
├── MinionPro-It.otf
└── MinionPro-Regular.otf
答案2
正如 Henri Menke 所说,您需要将字体文件下载到目录中,然后使用Path=
和通过文件名选择它们Extension=
。
但是,由于您使用的是 Windows,没有根目录,因此这样的路径名不起作用。一旦其他人尝试在其计算机上编译文档,任何绝对路径名都会失效。
您要做的是将字体下载到项目文件夹的子目录中,例如名为fonts
。然后,使用 加载字体Path = ./fonts/
。确保您的构建命令正在从项目目录运行。这可以移植到任何操作系统。
您无需经过任何特殊的繁琐步骤即可在系统上安装字体。如果您指定了准确的文件名和路径,即使它未作为系统字体安装,您的 TeX 引擎也将能够找到它。这是使用系统或 TeX 发行版中已有字体的不同版本的好方法。
因此,类似于:
\setmainfont{MinionPro}[
Path = ./fonts/ ,
Extension = .otf ,
UprightFont = *-Regular ,
BoldFont = *-Bold ,
ItalicFont = *-It ,
BoldItalicFont = *-BoldIt]
这将搜索./fonts/MinionPro-Regular.otf
、./fonts/MinionPro-Bold.otf
等等。只需将文件下载到指定目录即可。
为了安全起见,请使源文件中的名称各部分区分大小写,即使在 Windows 上不需要如此。
对于其他试图编译您的文档的人来说,添加带有链接以获取字体的评论可能会有所帮助。
替代解决方案:将字体文件放在与源文件相同的目录中,不要将它们与源文件一起分发(尤其是当其许可证不允许时),指定文件名而不是Path =
,并且只要求任何其他用户获取它们以进行编译。您甚至可以添加条件,仅在安装了非标准字体时才使用它。