luaotfload:如何使用当前目录中的字体?

luaotfload:如何使用当前目录中的字体?

我想使用 luaotfload 在当前目录中使用字体。我尝试生成数据库:

OSFONTDIR=$PWD mkluatexfontdb

但这给了我无尽的输出:

$ OSFONTDIR=$PWD mkluatexfontdb

luaotfload | Updating the font names database:
luaotfload | Font names database not found, generating new one.
             This can take several minutes; please be patient.
luaotfload | Updating the font names database:
luaotfload | Font names database not found, generating new one.
             This can take several minutes; please be patient.
luaotfload | Updating the font names database:
...

我该怎么做才能通过 luaotfload 在当前目录中使用 (OTF) 字体?

答案1

我认为,该OSFONTDIR变量不宜这样使用。

下面是使用纯文本和 LaTeX 字体加载的示例(\input如果您不使用 LaTeX,luaotfload.sty 可以使用纯文本 TeX):

\documentclass{article}
\usepackage{fontspec}
\begin{document}
\font\1="file:MyriadPro-BlackCond.otf" at 12pt\1 hello
\normalfont normal font
\fontspec{MyriadPro-BlackCond.otf}
hello again
\end{document}

对于 fontspec 示例,它会自动检测它是来自文件系统的字体,因为.otf名称末尾存在 。如果这对您不起作用,我认为我们需要在另一个论坛(lualatex-开发邮件列表是个好主意)。

答案2

这应该有效:

\input luaotfload.sty
\directlua{fonts.names.scan(".")}
\font\test={name:Gota Light} % whatever the font is
\test test
\bye

但由于长期未被发现的错误,它现在无法工作(您可以通过在文件中替换"zapfino"来修复它)。dirotfl-font-nms.lua

FontspecExternalLocation将被扩展以使用此功能。

相关内容