5.5. Schriftarten in XFree86 benutzen

Beigetragen von Murray Stokely.

5.5.1. Type 1 Schriftarten

Die Schriftarten, die mit XFree86 geliefert werden, eignen sich ganz und gar nicht für Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei Präsentationen deutliche Treppenstufen und die kleinen Schriftarten in Netscape sind fast unleserlich. Es gibt allerdings mehrere hochwertige Type 1 Schriftarten (PostScript), die mit XFree86 (Version 3.X oder 4.X) benutzt werden können. Beispielsweise enthalten die URW-Schriftarten ( x11-fonts/urwfonts) hochwertige Versionen gängiger Type 1 Schriftarten (z.B. Times Roman, Helvetica, Palatino). Die Freefont-Sammlung ( x11-fonts/freefont) enthält noch mehr Schriftarten, doch sind diese für den Einsatz in Grafik-Programmen wie The Gimp gedacht. Es fehlen auch einige Schriftarten, so dass sich die Sammlung nicht für den alltäglichen Gebrauch eignet. Weiterhin kann XFree86 leicht so konfiguriert werden, dass es TrueType-Schriftarten verwendet (dies wird später im Abschnitt TrueType Schriftarten beschrieben).

Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie folgt installieren:

    # cd /usr/ports/x11-fonts/urwfonts
    # make install clean

Analog lassen sich Freefont und andere Sammlungen installieren. Die neuen Schriftarten müssen dem X-Server in der Datei XF86Config bekannt gegeben werden. In der Version 3 von XFree86 befindet diese Datei in /etc, in Version 4 befindet sich die Datei im Verzeichnis /etc/X11/. Fügen Sie die folgende Zeile hinzu:

    FontPath "/usr/X11R6/lib/X11/fonts/URW/"

Sie können aber auch in der X-Sitzung das folgende Kommando absetzen:

    % xset fp+ /usr/X11R6/lib/X11/fonts/URW
    % xset fp rehash

Dann kennt der X-Server die neuen Schriftarten nur bis zum Ende der Sitzung. Wenn die Änderung dauerhaft sein soll, müssen Sie die Kommandos in ~/.xinitrc eintragen, wenn Sie X mit startx starten, oder in ~/.xsession, wenn Sie XDM benutzen. Sie können die Schriftarten auch in die neue Datei XftConfig, die im Abschnitt Anti-aliasing beschrieben wird, eintragen.

5.5.2. TrueType-Schriftarten

XFree86 4.X kann TrueType-Schriftarten mithilfe von zwei Modulen darstellen. Im folgenden Beispiel wird das Freetype-Modul benutzt, da es besser mit anderen Werkzeugen, die TrueType-Schriftarten darstellen, übereinstimmt. Das Freetype-Modul aktivieren Sie im Abschnitt "Module" von /etc/X11/XF86Config durch Einfügen der Zeile:

    Load  "freetype"

XFree86 3.3.X benötigt einen gesonderten TrueType-Schriftserver. Üblicherweise wird dafür Xfstt verwendet, den Sie aus dem Port x11-servers/Xfstt installieren können.

Erstellen Sie ein Verzeichnis für die TrueType-Schriftarten (z.B. /usr/X11R6/lib/X11/fonts/TrueType) und kopieren Sie alle Schriftarten dorthin. Die Schriftarten müssen im UNIX/DOS/Windows-Format liegen, Schriftarten von einem Macintosh können Sie nicht direkt übernehmen. Die Schriftarten müssen noch in der Datei fonts.dir katalogisiert werden. Den Katalog können Sie mit ttmkfdir aus dem Port x11-fonts/ttmkfdir erzeugen:

    # cd /usr/X11R6/lib/X11/fonts/TrueType
    # ttmkfdir > fonts.dir

Geben Sie dem System das TrueType-Verzeichnis, wie im Abschnitt Type 1 Schriftarten beschrieben, bekannt:

    % xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
    % xset fp rehash

Oder fügen Sie eine FontPath-Zeile in XF86Config hinzu.

Das war's. Jetzt sollten Netscape, Gimp, StarOffice und alle anderen X-Anwendungen die TrueType-Schriftarten benutzen. Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung betrachtet werden) und sehr große Schriftarten (in StarOffice) sollten jetzt viel besser aussehen.

5.5.3. Anti-aliasing

Ab der Version 4.0.2 kann XFree86 Schriftarten mit dem Anti-aliasing-Verfahren darstellen. Die meisten Programme benutzen diese neue Funktion noch nicht, Qt (das KDE-Toolkit) ist da eine Ausnahme. Wenn Sie XFree86 4.0.2 mit Qt 2.3 und KDE einsetzen, können alle KDE/Qt-Anwendungen das Anti-aliasing-Verfahren zur Darstellung von Schriftarten benutzen.

Um das Anti-aliasing-Verfahren zu benutzen, legen Sie die Datei /usr/X11R6/lib/X11/XftConfig an oder editieren Sie die Datei, wenn sie schon existiert. In dieser Datei können vielfältige Einstellungen vorgenommen werden, dieser Abschnitt beschreibt nur die einfachsten Möglichkeiten.

Legen Sie zuerst fest, welche Schriftarten mit dem Anti-aliasing-Verfahren dargestellt werden sollen. Für jedes Schriftarten-Verzeichnis fügen Sie eine Zeile wie die folgende in die Datei ein:

    dir "/usr/X11R6/lib/X11/fonts/Type1"

Verfahren Sie genauso für jedes andere Schriftarten-Verzeichnis (z.B. URW, TrueType). Das Verfahren kann nur mit skalierbaren Schriftarten (im Wesentlichen Type 1 und TrueType) sinnvoll angewendet werden. Nehmen Sie also nicht die Bitmap-Zeichensätze in die Datei auf. Die Verzeichnisse, die in die Datei aufgenommen wurden, können jetzt in XF86Config auskommentiert werden.

Das Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf, dadurch werden kleine Schriften besser lesbar und der Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf normale Schriftgrößen sollte das Verfahren aber nicht angewendet werden, da dies die Augen zu sehr anstrengt. Um Schriftgrößen zwischen 9 und 13 Punkt von dem Verfahren auszunehmen, fügen Sie in XftConfig die nachstehenden Zeilen ein:

    match
      any size > 8
      any size < 14
    edit
      antialias = false;

Das Anit-aliasing-Verfahren kann die Abstände einiger Fixschriften falsch darstellen, dies fällt besonders unter KDE auf. Sie können das Problem umgehen, indem Sie die Abstände dieser Schriften auf den Wert 100 festsetzen. Fügen Sie die nachstehenden Zeilen hinzu:

    match any family == "fixed"      edit family =+ "mono";
    match any family == "console"    edit family =+ "mono";

Damit werden die Namen der gebrächlichen Fixschriften auf "mono" abgebildet. Für diese Schriften setzen Sie dann den Abstand fest:

    match any family == "mono" edit spacing = 100;

Wenn Sie jede Fixschrift durch die Schriftart Lucidux (sie sieht gut aus und das Problem mit den Abständen gibt es bei dieser Schriftart nicht) ersetzen wollen, tauschen Sie die letzte Zeile mit den nachstehenden aus:

    match any family == "mono"       edit family += "LuciduxMono";
    match any family == "Lucidux Mono"      edit family += "LuciduxMono";
    match any family == "LuciduxMono"       edit family =+ "Lucidux Mono";

Die letzten Zeilen fassen verschiedene gleichwertige Schriftfamilien zusammen.

Schließlich sollten Sie es den Benutzern erlauben, eigene Einstellungen in .xftconfig vorzunehmen. Dazu fügen Sie am Ende der Datei die nachstehende Zeile ein:

    includeif  "~/.xftconfig"

Mit einem LCD können Sie sub-pixel sampling anstelle von Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal getrennten Rot-, Grün- und Blau-Komponenten eines Pixels gesondert und verbessert damit (teilweise sehr wirksam) die horizontale Auflösung. Die nachstehende Zeile in XftConfig aktiviert diese Funktion:

    match edit rgba=rgb;

Abhängig von der Organisation Ihres Bildschirms müssen Sie bgr, vrgb oder vbgr anstelle von rgb verwenden. Experimentieren Sie und schauen Sie, was besser aussieht.

Der nächste Start des X-Servers aktiviert das Anti-aliasing-Verfahren. Beachten Sie, dass die Anwendungen dieses Verfahren auch benutzen müssen. Zurzeit wird das Verfahren von Qt und damit von KDE benutzt (Details finden Sie in Abschnitt 5.7.3.2). Ein Patch für GTK+ erlaubt es GNOME und Mozilla das Anti-aliasing-Verfahren zu benutzen. Der Port x11/gdkxft erlaubt sogar das Verfahren ohne eine neue Übersetzung der Quellen zu benutzen (genaueres erfahren Sie in Abschnitt 5.7.1.3).

Das Anti-aliasing-Verfahren ist erst neu in FreeBSD und XFree86 integriert. Mit der Zeit wird es einfacher zu konfigurieren sein und mehr Anwendungen werden dieses Verfahren benutzen.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine EMail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine Email an <de-bsd-translators@de.FreeBSD.org>.