fontspec 和本地(相对)目录

fontspec 和本地(相对)目录

我想在本地相对目录中安装 (ttf) 字体并将其与 fontspec / texlive 2015 一起使用。例如,我TheanoDidot-Regular.ttfhttp://www.fonts2u.com/theano-didot-regular.font并将其放在此测试文件所在的当前目录中:

\documentclass{article}
\usepackage{fontspec}

\setmainfont{TheanoDidot}[
  Extension      = .ttf ,
  UprightFont    = *-Regular,
]

\begin{document}
Hello world
\end{document}

这很好用。

现在我将文件放在名为的目录中myfonts。我不知道为什么 LuaTeX/fontspec 不喜欢我的设置。

mkdir myfonts
mv TheanoDidot-Regular.ttf myfonts/

以下文件给出了错误:

\documentclass{article}
\usepackage{fontspec}

\setmainfont{TheanoDidot}[
  Path           = myfonts/,
  Extension      = .ttf ,
  UprightFont    = *-Regular,
]

\begin{document}
Hello world
\end{document}

给出

....
live2015/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux))
 306 words of node memory still in use:
   3 hlist, 1 vlist, 1 rule, 2 glue, 1 kern, 4 attribute, 43 glue_spec, 4 attrib
ute_list, 1 write nodes
   avail lists: 2:47,3:4,4:23,5:1,6:17,7:1,9:6

!LuaTeX error: cannot find OpenType font file for reading ()
 ==> Fatal error occurred, no output PDF file produced!

我该怎么做才能访问该字体?

$ luatex --version
This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238)

答案1

您需要从中删除字体的 lua/luc 文件...\texmf-var\luatex-cache\generic\fonts\otf

它包含字体的旧路径,因此会使 luatex 感到困惑。

我不确定 luaotfload 是否值得为这种情况添加检查以重新创建缓存文件,但你可以提出一个问题https://github.com/lualatex/luaotfload/issues

相关内容