设置字形和连字的字距

设置字形和连字的字距

除了为连字符的第一部分设置字距(我想避免这种情况)之外,如何在 PL 文件中指定字形和连字符(例如数字和短划线)的字距?

答案1

我的实验(如下所述)似乎证明了这是不可能的。当 TeX 找到字符簇时

abc

abc其中 代表任意三个字符)它查看是否定义了 的字距调整对或连字ab,在这种情况下,它会插入字距或进行连字。如果连字机制已替换d为,则尝试和ab之间的字距调整或连字;否则将考虑这对。dcbc

这是实验的描述。

  1. 我将其转换cmr12.tfmcmr12.pltftopl

  2. 我添加了以下几行

    (LABEL C 0)
    (KRN O 174 R 2)
    (STOP)
    

    对于该属性,它应该定义和 em-dash 和 ranLIGTABLE之间的字距调整对。0pltotf

  3. 我在测试文件上运行了 TeX

    \font\x=cmr12 \x % load the modified font metric file
    0-\par
    0--\par
    0---\par
    \bye
    

    并且没有出现任何字距。

  4. cmr12.pl我将文件中上面的行改为

    (LABEL C 0)
    (KRN O 55 R 2)
    (STOP)
    

    (八进制 55 是连字符的插槽),再次转换为文件.tfm并在上面的测试文件上再次运行 TeX ;在这种情况下,字距出现在所有三行上。

情况连字符是不同的,并且确实显示了与八进制 13 (连字符)cmr12.pl相同的字距对,即fff

   (LABEL C f)
   (LIG C i O 14)
   (LIG C f O 13)
   (LIG C l O 15)
   (KRN O 47 R 0.069734)
   (KRN O 77 R 0.069734)
   (KRN O 41 R 0.069734)
   (KRN O 51 R 0.069734)
   (KRN O 135 R 0.069734)
   (STOP)
   (LABEL O 13)
   (LIG C i O 16)
   (LIG C l O 17)
   (KRN O 47 R 0.069734)
   (KRN O 77 R 0.069734)
   (KRN O 41 R 0.069734)
   (KRN O 51 R 0.069734)
   (KRN O 135 R 0.069734)
   (STOP)

证实了我的初步分析。

当然,0 和短划线之间的字距对必须指定,但只有在以下情况下才会生效:

0\char'173

是输入(可能通过直接输入 en-dash,其机制类似于inputencLaTeX)。

相关内容