与其他窗口管理器不同的字体渲染

与其他窗口管理器不同的字体渲染

当我登录使用 Blackbox 窗口管理器的会话时,字体看起来与 Unity 中的渲染方式不同(更糟糕)。有人知道是否可以通过在中设置适当的值来实现与其他窗口管理器相同的字体渲染吗~/.fonts.conf?如果答案是肯定的,我应该使用什么设置 - 有没有办法检索影响字体渲染的当前设置?顺便说一下,我使用 Ubuntu 11.10。

答案1

我在这里找到了一个解决方案:

http://lovingthepenguin.blogspot.com/2011/07/fixing-ugly-qt-fonts-in-openbox-fluxbox.html

但事实证明,我只需要设置hintstyle和,rgba因为其他设置与默认设置相同。将以下几行添加到~/.Xresources(或者~/.Xdefaults如果您从控制台启动 X)并重新启动 X Windows:

Xft.hintstyle: hintslight
Xft.rgba: rgb

编辑2014-10-26:Debian 7 使用不同的默认值,因此使用这些设置来确保字体看起来不错:

Xft.antialias: true
Xft.autohint: false
Xft.dpi: 96
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

编辑 2016-01-10:某些应用程序(如 Chromium)改用 fontconfig 设置。上面的 Xft 值对应于 ~/.fonts.conf 中的以下 XML:

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

    <match target="font">
        <edit mode="assign" name="autohint">
            <bool>false</bool>
        </edit>
    </match>

    <match target="font">
        <edit mode="assign" name="dpi">
            <double>96.0</double>
        </edit>
    </match>

    <match target="font">
        <edit mode="assign" name="hinting">
            <bool>true</bool>
        </edit>
    </match>

    <match target="font">
        <edit mode="assign" name="hintstyle">
            <const>hintslight</const>
        </edit>
    </match>

    <match target="font">
        <edit mode="assign" name="lcdfilter">
            <const>lcddefault</const>
        </edit>
    </match>

    <match target="font">
        <edit mode="assign" name="rgba">
            <const>rgb</const>
        </edit>
    </match>
</fontconfig>

在 Debian 中,我还注意到,要获得相同的字符形状,还需要将 DPI 设置为 100 而不是 96*。

*https://unix.stackexchange.com/questions/165250/why-is-a-ten-point-font-smaller-in-debian-compared-to-ubuntu

相关内容