在 Windows 7 中使用 MiKTeX 2.9 64 位(LuaTeX 版本 beta-0.70.2-2012060719)创建的 LuaLaTeX 文档中出现以下错误:
! LuaTeX error ...)/MiKTeX 2.9/tex/luatex/luaotfload/otfl-font-otf.lua:553: table index is nil.
<to be read again>
\scan_stop:
l.10 {Cinzel-Regular}`
以下是 MWE:
\documentclass[letterpaper,twoside,10pt,extrafontsizes, onecolumn,openany,final]{memoir}
\usepackage{luatextra} % Package also loads fontspec
\newfontfamily\memfont[Path=./Fonts/,%
Extension=.otf,%
ItalicFont=CinzelDecorative-Regular,%
BoldFont=Cinzel-Bold,%
BoldItalicFont=CinzelDecorative-Bold]%
{Cinzel-Regular}
\begin{document}
\memfont
blah!
\end{document}
如果我按 Enter 继续,则会收到一个字体规范错误,提示找不到字体,这很愚蠢。其他字体可以从同一位置正常加载,Cinzel 在 XeLaTeX 中运行时加载顺利;拼写或目录信息错误都不是问题所在。似乎 LuaTeX 就是不喜欢 Cinzel 的某些方面——Lua 在字体文件中寻找的某种“表格”缺失,而 XeTeX 可能只是忽略了它。如果有人想用 FontForge 探索字体本身,Cinzel 是根据 SIL 开放字体许可证免费分发的。还是 LuaTeX 只是在胡闹?有什么解决方法吗?或者我必须放弃 Cinzel,一款真正华丽的字体?
答案1
@Mico 和 @Ulrike,是的!我用它的更新实用程序更新了 MikTeX,不仅将 Lua 更新到版本 5.2 和其他相关版本,还将 luaoftload 和 fontspec 也更新了。对我来说,Cinzel 现在在 LuaLaTeX 中运行良好。我在这里学习了很多关于 TeX 系列语言和程序的知识,但在很多方面我仍然是一个新手。这是一个简单的解决方案,但现在我知道在发布之前我的第一步应该是更新我的软件。谢谢。