fontspec (xelatex) 按名称查找已安装或在 TEXMFHOME 中的字体

fontspec (xelatex) 按名称查找已安装或在 TEXMFHOME 中的字体

这与我的另一个问题相关:TEXMFHOME 中的 fontspec 搜索路径

我正在尝试通过 编写一个使用特定 opentype 字体的包fontspec

在 Debian 计算机上使用 TeXLive 2013(一位同事确认 Mac OS X 也有同样的行为)我看到以下行为:

  • 作为系统字体安装的字体(在 ~/.fonts 中):
    lualatex通过字体名称查找,
    xelatex通过字体文件名查找但不是通过文件名
  • 安装在 TEXMFHOME (~/texmf/fonts/opentype/FONT/) 中的字体:
    lualatex通过字体名称查找,
    xelatex通过文件名查找但不是通过字体名称

xelatex (至少在 Linux/Mac 上是 TeXLive) 确实可以找到文件吗?仅有的当作为系统字体安装时按字体名称仅有的在 texmf 树中安装时按文件名查找?还是我遗漏了什么?

如果这是真的,有人能告诉我在 Windows/其他 TeX 发行版上是否也存在同样的情况吗?

我对最通用的答案感兴趣,因为我必须告诉用户(对于任意操作系统/发行版组合)在下载包后在哪里复制(或链接)字体文件夹。

答案1

简短的回答:是的。

当要求 XeTeX 通过文件名加载字体时,它会将名称传递给 kpathea 库,因此其工作方式与任何其他 TeX 文件路径搜索(例如\input'd 文件)一样。

当要求通过字体名称加载字体时,它将在 Linux 和 Windows 上使用 FontConfig,在 Mac 上使用 Core Text 字体管理器,因此无论找到什么字体,XeTeX 都能够使用。

相关内容