我用答案来这个问题在 Unity 界面中调整子像素字体提示。但是,Firefox、Chrome 或 evince 中渲染的文本不使用子像素抗锯齿。遗憾的是,这三个应用程序是最需要它的。
几乎所有其他地方都启用了子像素字体提示。
如何激活这些应用程序?
答案1
Firefox 似乎无法读取 GTK 配置,但它会尊重您的 ~/.fonts.conf,其中基本上包含字体配置,包括子像素顺序。
这是来自 2005 年博客文章的一个示例 .fonts.conf,它可能会有所帮助,您最有可能想要更改的是 rgba 值(子像素顺序)以匹配您的 LCD 以及可能的抗锯齿值。
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig>
<match target="font">
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match> </fontconfig>
答案2
有两个地方可以改变字体的外观:
1.运行dconf
并找到org.gnome.settings-daemon.plugins.xsettings
架构。可以在此处设置提示、抗锯齿和 RGBA 顺序。这些设置会影响 GTK 和 Unity 应用程序。
2.查看/etc/fonts/conf.d
文件夹。它实际上包含来自的符号链接/etc/fonts/conf.avail
。例如,如果您想将提示样式从轻微更改为完整,请删除一个符号链接并添加另一个。
sudo rm /etc/fonts/conf.d/10-hinting-slight.conf
sudo ln -s /etc/fonts/conf.avail/10-hinting-full.conf /etc/fonts/conf.d/
根据您的情况,请检查文件夹10-no-sub-pixel.conf
中是否存在符号链接/etc/fonts/conf.d
。如果是,请删除它并10-sub-pixel-rgb.conf
按照前面所述添加符号链接。
这些设置会影响非 GTK 应用程序,例如 Firefox 和其他一些应用程序。
如果你需要一些关于字体配置的可靠资源,你可以看看https://wiki.ubuntu.com/Fonts(大部分是定制的~/.fonts.conf
,而且相当古老)。另一个很好的资源是https://wiki.archlinux.org/index.php/Font_Configuration(包含多个提示且是最新的)。
顺便提一句不建议直接编辑/etc/fonts/fonts.conf
。您最好添加/etc/fonts/local.conf
或~/.fonts.conf
自定义设置,这些设置将优先于 中的设置/etc/fonts/fonts.conf
。