grün
gr\"un
\bye
产量
grn
grün
是否可以使用纯 LuaTeX 正确呈现 Unicode ü?
是否也可以使用纯 TeX 和 METAFONT 字体?或者 METAFONT 字体必须如果想将其与 Unicode 输入一起使用,是否可以将其转换成其他内容?
答案1
你可能使用 METAFONT 字体:
\catcode`ü=\active
\protected\def ü{\"u}
grün
gr\"un
\fontname\font
\bye
您可以研究 LuaTeX 手册的 6.3 到 6.5 节,看看使用虚拟字体的方法是否可行。但是,这需要大量工作来从现有字体中定义虚拟字体。使用欧洲现代字体(使用 LaTeX 术语的 T1 编码)可能更容易。
另一方面,您可以轻松地在 LuaTeX 中注入字体加载器并使用 OpenType 字体。例如
\input luaotfload.sty
\font\tenrm="Latin Modern Roman"
\tenrm
grün
gr\"un
\fontname\font
\bye
请注意,第二个“grün”打印错误,因为重音符号不在普通 TeX 使用的插槽中,因此需要重新定义重音符号命令,例如
\input luaotfload.sty
\def\"#1{#1^^^^0308}
\font\tenrm="Latin Modern Roman"
\tenrm
grün
gr\"un
\fontname\font
\bye
重新定义一些口音显然比许多活跃角色。
答案2
我不是这方面的专家,所以我无法准确解释它是如何工作的以及为什么会这样等等。但由于到目前为止没有人对您的第二个问题给出满意的答案,我尝试自己做出贡献。所以,如果您担心使用德语,我想我有一个解决方案。如果您还想使用希腊字母或数学符号等,那么恐怕,如果没有 LuaTeX 或支持 Unicode 的类似程序,这将无法工作。
这个问题在 TeX 的捷克-斯洛伐克发行版中得到了解决,如果我理解正确的话,它有自己的略微修改过的字体,并在内部将 utf8 输入转换为 iso8859-2 编码,其中显示了所有捷克和德语字符。请参阅https://www.ctan.org/pkg/csplain
例如,你可以写
Příliš žluťoučký kůň úpěl ďábelské ódy.
„Fix, Schwyz!“, quäkt Jürgen blöd vom Paß.
\bye
并且使用pdfcsplain
而不是进行编译后pdftex
,您将获得正确的结果。