gftype.web 对字符宽度的描述是否存在错误?

gftype.web 对字符宽度的描述是否存在错误?

在下面https://www.ctan.org/tex-archive/systems/knuth/dist/mfware我们发现gftype.web

其中第 574 行gftype.web写道:

字符宽度~|w| 重复了 \.{TFM} 文件中的信息;它是 $2^{24}$ 乘以真实宽度与字体设计尺寸的比例。

但在其他地方,例如mf.webhttps://www.ctan.org/tex-archive/systems/knuth/dist/mfhttps://tug.org/TUGboat/tb02-1/tb02fuchstfm.pdfTFM 宽度被描述为修复单词按设计尺寸单位缩放 2^20 的数字。

其中mf.web写道:

这里使用的最重要的数据类型是 |@!fix_word|,它是二进制小数的 32 位表示。|fix_word| 是有符号量,用整个字的二进制补码表示否定。在 |fix_word| 的 32 位中,正好有 12 位位于二进制小数点左侧;因此,最大的 |fix_word| 值为 $2048-2^{-20}$,最小值为 $-2048$。

还说mf.web

\/ \.{TFM} 文件中的所有其他尺寸都是以设计尺寸为单位的 |fix_word|\kern-1pt\ 数字。} 因此,例如,定义 \.{em} 单位的 |param[6]| 的值通常是 |fix_word| 值 $2^{20}=1.0$,因为许多字体的设计尺寸等于一 em。

然后mf.web描述存储在GF文件中的实际宽度:

字符宽度~|w| 重复了 \.{TFM} 文件中的信息;它是相对于设计尺寸的 |fix_word| 值,并且它应该与放大倍数无关。

请注意,本文的第一部分与 相同gftype.web

那么公式 $2^{24}$ 实际上应该是 $2^{20}$ 吗?

答案1

没有什么比做实验更好了。在 TeX Live 中我们发现

/usr/local/texlive/2012/texmf-dist/doc/fonts/yannisgr/rgrsc10.300gf

以及相应的tfm文件。运行时gftype,我们读取

Character 0: dx 1376256 (21), width 524290 (20.75554), loc 8275

tftopl rgrsc10我们读到

(CHARACTER O 0
   (CHARWD R 0.500002)
   (CHARHT R 0.444445)
   (CHARIC R 0.027779)
   )

并且 0.500002*2^20 = 524290.097152,与文件中的值 524290 匹配gf

拼写错误。

相关内容