![fontspec 和本地(相对)目录](https://linux22.com/image/334680/fontspec%20%E5%92%8C%E6%9C%AC%E5%9C%B0%EF%BC%88%E7%9B%B8%E5%AF%B9%EF%BC%89%E7%9B%AE%E5%BD%95.png)
我想在本地相对目录中安装 (ttf) 字体并将其与 fontspec / texlive 2015 一起使用。例如,我TheanoDidot-Regular.ttf
从http://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。