Luaotfload:版本不匹配

Luaotfload:版本不匹配

使用 LuaLaTeX 进行编译并且最近的更新似乎产生了一些干扰:

    ...
) (/usr/local/texlive/2013/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
(/usr/local/texlive/2013/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2013/texmf-dist/tex/latex/euenc/eu2enc.def)
(/usr/local/texlive/2013/texmf-dist/tex/latex/euenc/eu2lmr.fd)
luaotfload | db : Version mismatch; expected 2.207, got 2.204
luaotfload | db : Force rebuild

我让重建进行了 40 多分钟,我的所有 CPU 都被这个过程耗尽了,所以我中止了编译。

我已经发现了这个问题邮件列表。 但

luaotfload-tool --update --force -vv

导致错误:

/usr/texbin/luaotfload-tool:1257: unfinished string near '"Fetching comparison between %s and %s, z'

我找不到任何帮助。该怎么办?

(TeXLive2013,Mac OS X)

答案1

嗯,我遇到了同样的问题。 ~/.texlive2013/在我的 Mac OS X (Snow Leopard) 上不存在

FWIW 有

/private/var/db/receipts/org.tug.mactex.texlive2013.bom/private/var/db/receipts/org.tug.mactex.texlive2013.plist

luaotfload-tool --diagnose=files,权限给予

/usr/texbin/luaotfload-tool:1257: unfinished string near '"Fetching comparison between %s and %s, z'

我使用 beta-0.76:

这是LuaTeX,版本beta-0.76.0-2013061817 (TeX Live 2013)(rev 4627)

但令我惊讶的是,luatex --version终端给出了这是LuaTeX,版本beta-0.70.2-2012122916(TeX Live 2012 / MacPorts 2012_5)

我更改了路径,因此luaotfload-tool --update/usr/texbin配置中调用了texlive2013- 这样就可以重新创建数据库。现在我遇到了TeX capacity exceeded,但我认为这是另一个问题。

我猜,我luaotfload-tool从中找到了一些配置texlive2012,更改 PATH 后,可以LuaLaTeX从命令行更新的数据库。

答案2

在 OS X 上,文件luaotfload被写入~/Library/texlive/2013/texmf-var/luatex-cache/generic

因此,当我遇到这个问题时,我

% cd ~/Library/texlive/2013/texmf-var/luatex-cache/generic
% rm -r fonts names
% luaotfload-tool --update --force -vv
luaotfload | util : Setting log level
luaotfload | util : Task completed successfully
luaotfload | db : Updating the font names database forcefully
luaotfload | db : Blacklisting "7" files and directories
luaotfload | db : Whitelisting "0" files
luaotfload | db : Scanning TEXMF fonts...
luaotfload | db : Scanning directory /usr/local/texlive/2013/texmf-dist/fonts/opentype
luaotfload | db : Scanning directory /usr/local/texlive/2013/texmf-dist/fonts/opentype/adobe
luaotfload | db : Scanning directory /usr/local/texlive/2013/texmf-dist/fonts/opentype/adobe/sourcecodepro
[…] 
luaotfload | db : Scanning directory /usr/local/texlive/2013/texmf-dist/fonts/opentype/theleagueofmoveabletype
luaotfload | db : Scanning directory /usr/local/texlive/2013/texmf-dist/fonts/opentype/theleagueofmoveabletype/raleway
luaotfload | db : Scanning OS fonts...
luaotfload | db : Searching in static system directories...
luaotfload | db : Scanning directory ~/Library/Fonts
luaotfload | db : Scanning directory /Library/Fonts
luaotfload | db : Scanning directory /System/Library/Fonts
luaotfload | db : No such directory: "/Network/Library/Fonts"; skipping.
luaotfload | db : Creating filename map
[…]
luaotfload | db : Font file "Times.dfont" already indexed (1315)
luaotfload | db : > old location: /System/Library/Fonts/Times.dfont
luaotfload | db : > new location: /System/Library/Fonts/Times.dfont
luaotfload | db : Scanned 4202 font files; 1166 new entries.
luaotfload | db : Rebuilt in 537530 ms
luaotfload | db : Fonts in the database: 1320
luaotfload | db : Font index saved
luaotfload | db : Text: ~/Library/texlive/2013/texmf-var/luatex-cache/generic/names/luaotfload-names.lua
luaotfload | db : Byte: ~/Library/texlive/2013/texmf-var/luatex-cache/generic/names/luaotfload-names.luc
luaotfload | util : Task completed successfully

这对我来说很有效。

答案3

在 ArchLinux (TexLive 2013) 上,我通过删除解决了这个问题~/.texlive/texmf-var/luatex-cache/。之后运行 LuaTeX 会出现以下警告:

luaotfload | db : Font names database not found, generating new one.
luaotfload | db : This can take several minutes; please be patient.
luaotfload | db : Font index saved)

但它在几秒钟内就完成了这一操作(生成数据库)。之前我也遇到过与version mismatch您报告的相同警告,而且似乎要花很长时间(几分钟后,我最终在完成之前中断了该过程……)。

希望这可以帮助。

相关内容