Google Chrome 字体渲染(粗体和抖动)

Google Chrome Font Rendering (Bold & Jittery)

我知道现在各种网站上有大量与字体渲染相关的问题。他们中的一个应该给我一个答案,所以你会想。不管我搜索多少,似乎都找不到解决问题的方法。

google chrome中几乎所有字体都显示为粗体。好吧,那不会真的是世界末日。更让我烦恼的是,他们变得非常紧张。因为它们看起来有点变形。

我做了一张图片来显示我的 firefoxchrome 字体渲染之间的区别:

http://i.stack.imgur.com/hYRh4.png

我只是想摆脱它。它已经困扰我一段时间了,我在网上找不到任何解决方案。

作为记录,我已经卸载并重新安装 chrome。另外,我在 chrome://flags.

中禁用了 Direct Write

有什么帮助吗?

这其实不是渲染问题,而是字体加载问题。 Firefox 显示 Arial(一种针对小尺寸渲染优化的字体),而 Chrome 显示 Helvetica(至少您安装的版本不是)。

您的屏幕截图中的编辑器可能要求使用 Helvetica 字体,如果 Helvetica 不可用,则要求使用 Arial 和其他无衬线字体。我假设您的计算机上只安装了 Helvetica 的粗体版本。它实际上应该显示常规版本,但它不可用。 因此,Firefox 会使用 Arial,而 Chrome 显示最接近的字重:粗体版本。

要解决您的问题,您应该尝试卸载 Helvetica Bold(通过“控制面板”>“字体”)。请注意,它也可以使用其他名称,例如 Helvetica Neue、Helvetica LT Std、Neue Helvetica 等。不要忘记重新启动以确保万无一失。然后Chrome也应该显示优化的Arial。

尽管这个问题有点老了,"problem" 可能仍然会出现,我发现了另一种情况导致出现这种文本(老实说,这让我来到这里)。

就我而言,我没有注意到我的 jQuery 回调循环并将文本多次渲染到固定位置,大约 20 次。我检查了整个 css。字体系列、文本渲染(在这种情况下为 geometricPrecision)、字体粗细等等。

我花了很长时间才弄清楚我有 20 个 div 彼此重叠且具有相同的文本,因为我在那里得到了一个非常复杂且深度封装的 DOM。

因此,如果您遇到类似问题来到这里,您可能还想检查一下这个问题。

最简单的检查方法是,使用浏览器集成检查器/开发人员工具删除包含文本的元素(Windows:F12,Mac: ALT+CMD+I) - 导航至 "Elements",向左切换图标(其中带有光标符号的图标)变为蓝色(活动),单击浏览器中的元素。它现在应该在 "Elements" 下突出显示,最简单的方法是在 DOM 中找到它。右键单击并删除它。如果您仍然看到文字,则很可能您有多个叠加层,而您只想要一个。

我只想说我通过从系统中删除整个 Roboto 字体系列解决了这个问题。 (MacOS Big Sur 11.2 (20D64).