我正在尝试fonts.ptxlua
隔离皮泰克斯使用 Open/True-Type 字体雅克斯界面。我可以正确加载字体;但是,当我尝试排版一些校样时,我发现现在 LuaTeX 会在 ASCII 边界上方的任何位置将 UTF8 输入解释为单独的字符(即 > \char 127
),并且我希望它能够将 UTF8 输入干净地映射到相应的字体插槽中。似乎 LuaTeX 现在逐个读取 UTF8 字节,并且不会将大写字符映射到相应的插槽中。
\input luatex85.sty
\input pitex
\setfont \mainfont:
name = "Tempora"
size = 10pt
bold = Semi
big = 50pt
\section{Ordalía tipográfica}
ἐν ἀρχή ἧν ὁ λόγος
\bye
使用 type1 字体运行相同的输入会将拉丁文本排版为 TeXnANSI,而希腊文本则会被干净地丢弃,这正如预期的那样。
\input luatex85.sty
\input plnfss
\let\section\textbf
\usefont{LY1}{ptm}{m}{n}
\section{Ordalía tipográfica}
ἐν ἀρχή ἧν ὁ λόγος
\bye
字形在那里,因为如果我用 加载字体,它们就会显示出来\luaotfload
。我遗漏了哪些细节?
答案1
Ulrike Fischer 和 David Carlisle 在评论中解决了这个问题,因此我会将解决方案迁移到社区 Wiki 答案。
问题在于,它pitex
假设源是 Latin-1,并在输入缓冲区上执行 Latin-1 到 UTF-8 的转换。禁用“-- Latin1 到 UTF-8”部分中的函数可使 UTF-8 输入正常工作。
pitex
自 2011 年以来一直未更新,LuaTeX 也自那时起发生了很大变化。请仔细考虑是否要尝试自行修补并使用它。