配置 LaTeX 以使用通过 portableapp.com 安装的字体

配置 LaTeX 以使用通过 portableapp.com 安装的字体

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 =,并且只要求任何其他用户获取它们以进行编译。您甚至可以添加条件,仅在安装了非标准字体时才使用它。

相关内容