Firefox 4 中的奇怪字体提示

Firefox 4 中的奇怪字体提示

我知道这是一个反复出现的话题,但我就是找不到一个合适的解决方案——尽管我为 Chrome 找到了一个解决方案。

请看一下以下屏幕截图:

  • Chrome 9

    替代文本

  • Firefox 4

    替代文本

看到细微的差别了吗?我无法确定确切的差别,但我能看出 Chrome 中的字体看起来更流畅。

以下是我的系统偏好设置(最好展示一张截图,因为我不知道精确的英文翻譯):

替代文本

有人有解决方案吗?谢谢。

更新:从我的角度来看,这似乎实际上不是一个提示问题。我想说 Firefox 使用子像素渲染而不是灰度渲染。(但我找不到设置fontconfig)但是这是一个主观意见, 你可否确认?

答案1

Firefox(正确地)使用 fontconfig 根据一组规则确定字体属性,然后对于 fontconfig 未确定的任何属性,将返回到 GNOME 设置。这允许您配置诸如每个字体提示设置等内容。

问题是我们(错误地)在字体配置中为抗锯齿和提示设置提供了匹配所有规则。这意味着字体配置设置总是覆盖 Firefox 中的 GNOME 设置,这实际上是我们 fontconfig 包中的一个错误。

这看起来像您所看到的问题的一部分。

要解决此问题,您可以执行以下操作:

sudo rm /etc/fonts/conf.d/10-*

请注意,/etc/fonts/conf.d 仅包含一组指向 /etc/fonts/conf.avail 中完整配置文件集的符号链接。要在 Ubuntu 中恢复默认配置,您可以运行:

cd /etc/fonts/conf.d
sudo ln -s /etc/fonts/conf.avail/10-antialias.conf
sudo ln -s /etc/fonts/conf.avail/10-hinting.conf
sudo ln -s /etc/fonts/conf.avail/10-hinting-slight.conf

此外,根据您使用的 Firefox 版本,字体的外观可能会略有不同。Ubuntu 版本的 Firefox 带有一个 cairo 补丁,可启用 Freetype LCD 过滤,这将使其字体看起来与其他应用程序的字体相似,并减少色边。

官方 mozilla.org 版本没有此补丁,并且与其他应用程序中的字体相比,其字体会明显有更多的色边。

答案2

以前的帖子中的建议(我想我有一个隐藏在某个地方)是 Firefox 不会在 Gnome 中查找字体提示设置,它会转到fontconfig未同步的设置。

因此,如果您使用完整提示,您需要类似这样的内容:

cd /etc/fonts/conf.d/
sudo rm 10-hinting-slight.conf
sudo ln -s ../conf.avail/10-hinting-full.conf
sudo dpkg-reconfigure fontconfig

有几十条修复建议此错误报告不过。我建议你找一些看起来更理智的,试一试,如果不行,再试试那些看起来不那么理智的。

我会尝试找出解决问题的方法。我记得这非常简单。

答案3

不久前我遇到过类似的问题,尝试了那些帖子中建议的所有方法。最后我只需删除~/.fonts.conf(当然是在备份之后)即可解决问题。

我认为这之所以有效,是因为系统范围的配置在 中/etc/font/fonts.conf,并且该文件由 生成fontconfig。我认为我的问题~/.fonts.conf是从更早的(Dapper Drake 时代)安装遗留下来的。

答案4

如果我没记错的话,Firefox 使用该文件~/.fonts.conf来获取其字体设置。如果不存在,只需使用以下内容创建它:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="antialias" mode="assign"><bool>true</bool></edit>
  </match>
  <match target="font">
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
  </match>
</fontconfig>

相关内容