我发现了一种使用Helvetica字体时'a'字符在垂直方向上未对齐的情况。

这只是Linux / Unix上的Firefox(可能也是OSX)中的问题。我可以测试的所有其他浏览器/操作系统都正确显示了文本。

在下图中,您可以看到Firefox的其他字符下方的'a'字符。

html - 使用Helvetica时如何修复Linux/osx Firefox中未对齐的字符-LMLPHP

我有一个小提琴来演示这个问题:https://jsfiddle.net/ob382a1p/

HTML:

<h1>Mailing ia la</h1>


CSS:

h1 {
    font-family: 'Helvetica';
    font-size: 40px;
    font-weight: normal;
}


是什么原因导致该问题,以及如何解决?

最佳答案

如果要拥有Linux用户,切勿在CSS中使用Helvetica。

在Windows和OSX上,Helvetica映射到现代字体文件(在专有许可下,因此除非单独购买并自行安装它们,否则它们在Linux系统上是被禁止的。

在Linux上,Helvetica映射到非常旧的字体文件,因为Helvetica是原始的内置Postscript字体之一,因此只能保留在周围,因此打印某些文档(打印即在300dpi +的介质上渲染,在96dpi的屏幕上渲染)需要使用它的存在。完全是那些字体从未设计过的东西。

此外,Postscript字体的预期编码覆盖范围也很小,如果您强制Linux系统使用Helvetica渲染现代的非纯ASCII文本,则它必须从某些over字体中获取丢失的字形,而这些字形将无法完美匹配其余部分的比例和位置。

Linux系统有许多不错的现代字体,而且覆盖率很高,Helvetica只是其中的一部分。

10-08 18:35