如何为 Firefox、Chrome 和 evince 中的文本激活子像素字体提示?

如何为 Firefox、Chrome 和 evince 中的文本激活子像素字体提示?

我用答案来这个问题在 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

相关内容