比较这两张图片:
左侧所有行的基线跳跃都正确。右侧第 5 行的基线跳跃较大,因为 É 上有重音符(在练习曲)。
查看字体(OTF 字体)我发现大写字母 E 的高度为 700 个单位,字母 É 的高度为 919 个单位。这个高度太大了,迫使 TeX 增加基线跳跃。
在带有 TFM 文件的 TeX 中,这个问题非常容易解决:我只需更改CHARHT
TFM 文件中的条目即可。这是因为 TeX 字符模型区分了字体数据(在 PFB 文件中)和度量数据(在 TFM 和 VF 文件中)。
但现在我正在使用带有 fontspec 的 XeLaTeX,不再有 TFM 文件,只有 TTF 或 OTF 文件。当然,没有办法更改任何字形框,因为没有独立的字形框,只有字形轮廓边界框的实际尺寸。
XeTeX 和/或 fontspec 中是否有一些参数允许我限制给定字体的最大字符高度?还有其他方法可以解决不稳定的基线跳跃问题吗?
答案1
你可以设置
\lineskiplimit=-2pt
在放弃 baselineskip 之前,最多允许 2pt 的重叠