答案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>