LY1 字体编码的连字符错误?

LY1 字体编码的连字符错误?

这里我发现 LY1 字体编码不需要特殊的连字符模式。然而,我在 utf8 输入中偶然发现了与非字母(例如引号)相关的不同连字符:

\documentclass[ngerman]{article}
\usepackage[utf8x]{inputenc}
\usepackage{babel}
\usepackage[LY1]{fontenc}
\def\foo{Michelsberg „Michelsberg Michelsberg“ }
\begin{document}
\LARGE
\foo\foo\foo\foo\foo\foo\foo Michelsberg!
Michelsberg, \foo Michelsberg? \foo\foo\foo Michelsberg.
\end{document}

输出中出现了一个连字符实例Michelsber-g“。对于其他编码(例如 T1),只使用正确的连字符(Mi-chels-berg)(甚至尝试使用,如查看日志所示)。有没有办法系统地防止 LY1 出现此问题?

答案1

德语结束引号(英语开始引号)位于 LY1 中的八进制 223 位置,而 T1 有一个大写字母 (Ş) 和一个对应的小写字母。因此,双引号字符参与连字,因为它有一个非零的\lccode。连字ber-g肯定是可以接受的中间词,就 TeX 而言, 后面g跟着另一个字母。

你解决通过添加问题

\AtBeginDocument{\lccode'223=0 }

你的序言。

可能还有其他字符需要相同处理:LY1 中相对于 T1 处于不同位置的所有标点符号;此外,应该针对不同位置的字母更新和向量\lccode\uccode

说实话,我一直对 LY1 心存怀疑。

相关内容