blog · git · desktop · images · contact


Direkte Settings zum Font-Antialising

2008-08-24

Aus mir nicht ganz verständlichen Gründen sind im Bezug auf Antialiasing die Frontends von GNOME und Xfce etwas abgespeckt, sodass man gar nicht alle Möglichkeiten ausschöpfen kann. Wirklich einstellen kann man Font-Smoothing über die Datei /etc/fonts/local.conf, da hier z.B. auch Bereiche angegeben werden können, in denen Antialiasing greift oder nicht.

Wer es rechtlich darf (siehe dazu auch hier), der wird damit wohl auch volle Macht über das Hinting haben und könnte somit den Auto-Hinter von Freetype und den Byte Code Interpreter parallel nutzen:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig>

    <!--
    Erstmal Einstellungen für *alle* Schriften

    Das wird zusammen mit dem zweiten Block aber im Endeffekt nur
    sehr kleine und sehr große Schriften betreffen.
    -->

    <match target="font">
        <!-- Antialiasing grundsätzlich AN -->
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>

        <!--
        Hinting über den Autohinter, welcher im Zusammenhang
        mit Antialiasing angeblich einen besseren Job macht
        als der BCI
        -->
        <edit name="hinting" mode="assign">
            <bool>false</bool>
        </edit>

        <edit name="autohint" mode="assign">
            <bool>true</bool>
        </edit>
    </match>


    <!-- Ausnahme: Normal lesbarer Bereich -->

    <match target="font">
        <test qual="any" name="size" compare="more">
            <double>7</double>
        </test>

        <test qual="any" name="size" compare="less">
            <double>13</double>
        </test>

        <!-- Hier KEIN Antialiasing -->
        <edit name="antialias" mode="assign">
            <bool>false</bool>
        </edit>

        <!-- Dafür aber Hinting über den BCI -->
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>

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

</fontconfig>

Setzt man nun in Xfce (für GNOME hab' ich's mangels Installation nicht ausprobiert) das Antialiasing erst einmal wieder auf "aktiv", so haben diese Einstellungen hier trotzdem noch Vorrang. Sprich, dann ist AA nur für alle Größen innerhalb der angegebenen Grenzen deaktiviert. Somit kann man sehr große Schriften zusätzlich verschönern und sehr kleine zurück in die Lesbarkeit befördern, während Schriften im "normalen" Bereich scharf bleiben. Unabhängig von der Anwendung und dem verwendeten Toolkit. :)

Natürlich könnte man's auch ganz ausschalten - was nützlich sein kann, wenn man ein Desktop-Environment nutzt, das dazu keine Funktion bereitstellt.

Doku und wertvolle Informationen:

– Nachtrag:

Als sehr sinnvoll hat sich aber vorallem folgendes herausgestellt, da Lucida (zumindest bei mir) nicht besonders toll aussieht (vgl. linuxforen.de u.ä.):

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig>
    <match target="pattern">
        <test name="family">
            <string>Lucida</string>
        </test>

        <edit name="family" mode="assign">
            <string>Bitstream Vera Sans</string>
        </edit>
    </match>
</fontconfig>

Comments?