我在使用 ConTeXt IV / LuaTeX 时遇到了一些奇怪的问题。我有一些希伯来语单词,它们不断抛出以下错误:error: /usr/share/texmf/tex/context/base/font-otn.lua:1809: attempt to index local 'chainlookup' (a nil value)
我的工具来自 Adam Reviczky 的 Ubuntu PPA(链接可以找到这里) 我刚刚更新了它们以确保我拥有最新的一套。
这是我的测试文件。Cardo 字体可从以下网址获取:这里。不幸的是,0.99 版本的链接已失效,因此新版本可能会出现不同的错误。我还尝试使用 Ezra SIL 字体,该字体以ttf-sil-ezra
软件包形式提供给 Ubuntu,但实际上出现了更多错误。使用较旧的 ConTeXt IV 独立安装,此方法可行。
有什么建议吗?
\definefontfeature[hebrew][arabic][script=hebr]
\definefont[hebrew][name:cardo*hebrew]
\starttext
\textdir TRT
\hebrew
סוּסַ֫יִם % This causes error.
סוּסַ֫יִ % If I remove one character it works again. (Error with Ezra SIL)
ם % However that character by itself does not cause error.
סוּסָתַ֫יִם % This causes error.
סוּסָתַ֫יִ % If I remove one character it works again. (Error with Ezra SIL)
ם % However that character by itself does not cause error.
סוּסָֽתְךָ % This causes error.
סוּסָתְךָ % If I remove one character it works again.
ֽ % However that character by itself does not cause error.
\stoptext
答案1
几天前我从开发人员那里得到确认,这确实是一个错误。今天我升级了我的工具,问题已经解决。
答案2
我使用 ttf-sil-ezra 包在 ConTeXt (MkIV) 中成功翻译了希伯来语。如果以下方法对您有用,请告诉我。
\definefontfeature[hebrew][arabic][script=hebr]
\definefont[hebrew][name:ezrasil]
\starttext
Here is some text.
\textdir TRT
\hebrew
בָּיִת שֶל אָבִי
There was some text.
\textdir TLT
Whoops, there was some text.
\textdir TRT
\hebrew
\hebrewAlef \hebrewBet \hebrewGimel
\stoptext