如何通过文件名加载 otf 字体文件(在 Windows 上使用绝对路径)

如何通过文件名加载 otf 字体文件(在 Windows 上使用绝对路径)

我在 Windows 上使用 texlive 2016 (TeXStudio/latexmk/lualatex)。以下 MWE 对我有用,直到上次 texlive 2016 更新 (tlmgr update --all; 执行于 2017 年 1 月 26 日)。

\documentclass[12pt]{article}

\usepackage{fontspec}

\setmainfont{EB Garamond}[%
Extension = .otf ,
Path= C:/Users/me/Documents/MWEs/fonts/EBGaramond-0.016/otf/ , %<-- does not work anymore
%Path= fonts/EBGaramond-0.016/otf/ , %<-- relative path works fine
Numbers = {OldStyle,Monospaced},
UprightFont = {EBGaramond08-Regular},
ItalicFont = {EBGaramond08-Italic},
UprightFeatures = {%
    SizeFeatures={%
        {Size={-9.99},Font={EBGaramond08-Regular}},
        {Size={10-},Font={EBGaramond12-Regular}},
    },
},
ItalicFeatures = {%
    SizeFeatures={%
        {Size={-9.99},Font={EBGaramond08-Italic}},
        {Size={10-},Font={EBGaramond12-Italic}},
    },
},
]

\usepackage{polyglossia}
\setdefaultlanguage{english}

\begin{document}

Hello World!

\end{document}

在上述更新之后,luaotfload 不再加载(找到)otf 文件。从日志中:

luaotfload | db:已启动重新加载(格式:otf、ttf、ttc);原因:“未找到文件:C。”。

只是猜测:“C。”对我来说看起来很奇怪——也许是解析问题?

如果我消除前导“C:/.../...”并改用相对路径,luaotfload 就会找到该文件并且一切正常。

注:EB Garamond 字体可免费使用,仅用于演示目的。可在此处下载:http://www.georgduffner.at/ebgaramond/download.html

是否不再支持绝对路径(至少在 Windows 上)?

答案1

该问题是由 fontspec 包中的错误/回归引起的。它已在 fontspec v2.5e (2017/02/10) 中修复。

来自变更日志:“修复 Windows 中无法使用的 C:... 文件路径的回归。”

相关内容