Computer setzen trotz grafischer Benutzeroberflächen auf Schrift. Linux leidet bei der Textanzeige noch an historischen Krankheiten, befindet sich aber auf dem Weg der Besserung. Dieser Artikel erklärt, wie Fontconfig, X und Gnome dafür zusammenarbeiten.
Trotz großer Fortschritte in den letzten Jahren beschweren sich noch immer viele User über hässliche Schriften auf dem Linux-Desktop. Die Ursachen sind nicht immer leicht zu bestimmen, denn viele Softwarekomponenten sind daran beteiligt, Buchstaben auf den Monitor zu bringen.
Welches Programm sich dabei um welchen Aspekt kümmert, bis ein Zeichen auf dem Bildschirm erscheint, variiert von Fall zu Fall. So zeichnen für die Anzeige von Schriften auf der Textkonsole ganz andere Software-Komponenten verantwortlich, als auf der X-Oberfläche. Aber auch dort gibt es wieder verschiedene Möglichkeiten.
Applikationen können sich zum Beispiel selbst um ihre Schriften kümmern, vom Einlesen der Font-Dateien über das Absatz-Layout bis zum Rendern der Zeichen. Andere Programme verwenden althergebrachte (und bewährte) X-Bibliotheken, neueste Anwendungen greifen auf Gnome-Bibliotheken zurück. Deshalb geschieht es häufig, dass Linux-Programme nebeneinander auf einem Desktop laufen, aber Schriften höchst unterschiedlich anzeigen. Dass die Schriftunterstützung sich vor allem wegen der Bemühungen um Internationalisierung in aktiver Entwicklung befindet, verkompliziert die Sache zusätzlich.
Erbe von X
Auf dem Desktop kümmert sich üblicherweise das X-Window-System um die Verwaltung und die Anzeige von Schriften, KDE und Gnome bauen darauf auf. Das aktuelle XFree86 und das alternative X.org beherrschen die gängigsten Schriftformate, denn Sie verwenden das Fontconfig-System des Freedesktop-Projekts [1]. Fontconfig liest Schriftdateien ein und liefert dem X-Window-System nach Bedarf gerasterte Zeichen. Es greift dabei auf Freetype [2] zurück, um die verbreiteten TrueType-Schriften zu rendern (siehe Kasten “Rendern und Rastern”). Die Xft-Font-Bibliothek reicht diese Daten praktisch nur noch weiter – vor der Einführung von Fontconfig war sie alleine für das Font-Renderung zuständig.
Rendern und Rastern
Die Umsetzung von Daten in eine auf einem Bildschirm darstellbare Form heißt im Computerbereich häufig Rendern – unabhängig von der konkreten Anwendung. Zum Beispiel rendern Web-Browser HTML-Quellcode, indem sie daraus eine angezeigte Seite machen. Grafikprogramme rendern aus der Beschreibung einer 3D-Szene ein Bild. Wenn Schriftprogramme Fonts rendern, rechnen sie aus der mathematischen Beschreibung eines Zeichens einzelne Punkte aus, die sie auf dem Bildschirm setzen. Da die Punkte, die ein Zeichen ausmachen, wie in einer Tabelle oder einem Raster angeordnet sind, spricht man auch von Rastern.
Gnome bedient sich im Wesentlichen dieser Komponenten, um in Anwendungen mit Schriften umzugehen. Zusätzlich bringt es die Pango-Bibliothek mit, die sich vor allem um das Layout von Textblöcken in Unicode-Zeichensätzen kümmert.
Die Einführung von Fontconfig hat viele Schriftenprobleme von Linux gelöst. Wenn Applikationen die Bibliothek nutzen, steht ihnen automatisch die ganze Vielfalt aller auf dem System installierten Schriften zur Verfügung. So kann das aktuelle Gimp seit der Einbindung von Fontconfig endlich direkt Truetype-Schriften nutzen. Auch Mozilla zeigt Schriften besser an, seit die Entwickler auf Fontconfig setzen.
Fontconfig einstellen
Nutzen Gnome-Programme die beschriebenen Bibliotheken, fällt ihnen das Font-Handling leicht: Über einen einheitlichen Mechanismus greifen sie auf alle installierten Schriften zu.
Auch für Benutzer und Administratoren bringt Fontconfig viele Vorteile. Die Konfigurationsdateien finden sich in /etc/fonts. Die dort befindliche Datei fonts.conf definiert im XML-Format die Pfade zu den Font-Dateien sowie verbreitete Alias-Namen, also zum Beispiel den Namen Sans für eine Reihe von serifenlosen Schriften. Meistens liegen die Schriften in den Verzeichnissen /usr/share/fonts und /usr/X11R6/lib/X11/fonts. Den entsprechenden Ausschnitt aus der Konfigurationsdatei zeigt Listing 1.
Listing 1
/etc/fonts/fonts.conf
<dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts/Type1</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir>
Der letzte Eintrag fügt das Directory .fonts im Home-Verzeichnis jedes Benutzers hinzu. Legt man hier Schriftdateien ab, stehen sie in allen Anwendungen zur Verfügung, die Fontconfig benutzen.
Um nicht für jede Anwendung, die Schriften auflistet, aufs Neue alle Verzeichnisse durchsuchen zu müssen, speichert Fontconfig Informationen über die Fonts in Cache-Dateien zwischen. Eine neue Truetype-Schrift ACID.TTF installieren Sie in im privaten Font-Verzeichnis folgendermaßen:
cd cp ACID.TTF .fonts cd .fonts fc-cache
Der Befehl fc-cache, im Font-Verzeichnis ausgeführt. aktualisiert bei laufender X-Oberfläche die Cache-Datei im aktuellen Verzeichnis. Nun können Sie die Schrift AcidBath in alle Gnome-Anwendungen nutzen.
Schriften einstellen
Gnome-Desktops bringen ein Programm mit, um die Standard-Schriften einzustellen, zum Beispiel bei Ubuntu unter Computer | Desktop-Einstellungen | Schrift. Dort legen Sie die Fonts für Anwendungen, den Desktop, Fenstertitel und Terminals fest. In diesem Fenster bestimmen Sie auch die Qualität der Schriftdarstellung, zum Beispiel Beste Form.

Schrifteinstellungen in Gnome legen die Standardschriften fest.” width=”300″ height=”218″ />
Abbildung 1: DieSchrifteinstellungen in Gnome legen die Standardschriften fest.Hinter dem Button Details verbirgt sich ein weiteres Fenster, das noch feinere Einstellmöglichkeiten bietet, zum Beispiel die Kantenglättung (Antialiasing). Den Unterschied zeigt Abbildung 2.
Font-Beispiele browsen
Ein eigenes Programm, um verfügbare Schriften aufzulisten, gehört nicht zum Lieferumfang von Gnome. Eine solche Liste zeigt jedoch der Gnome-Dateibrowser Nautilus, wenn man unter Datei | Ort öffnen den Wert fonts: eingibt. Allerdings beschränkt er sich auf die Systemschriften, lässt also das Verzeichnis ~/.fonts außer Acht. Außerdem zeigt das Programm bei einem Doppelklick auf den Font kein Beispiel des Schriftbilds. Im Nautilus-Fenster können Sie über einen Rechtsklick auf eine Schrift Gnomes Anwendungsschrift festlegen.
Einen visuellen Eindruck der installierten Schriften gibt die Software Gnome Font Sampler [4]. Sie liest alle verfügbaren Schriften und zeigt von jeder eine Probe an. Den Quellcode des Programms finden Sie auf der Heft-CD. Um es zu kompilieren, brauchen Sie die Gnome-Entwicklungsbibliotheken, einschließlich der Pango, Freetype vieler anderer. Sie konfigurieren den Quellcode mit ./configure und starten die Übersetzung mit make.

Abbildung 3: Der Gnome Font Sampler zeigt einen benutzerdefinierten Beispieltext in ausgewählten Gnome-Schriften an.
Wollen Sie den Gnome Font Sampler nicht installieren, führen Sie ihn nach dem Kompilieren mit ./src/gfontsampler direkt im Verzeichnis aus. Andernfalls installiert make install das Programm in den Systemverzeichnissen. Mit dem Font Sampler gewinnen Sie schnell einen optischen Eindruck über alle installieren Schriften, wobei der Sampler auch das Home-Verzeichnis berücksichtigt.
Vielfalt statt Einheit
Mit der zur Zeit aktuellen Font-Architektur steht dem Gnome-Desktop ein leistungsfähiges System zur Verfügung, das qualitativ hochwertige Fonts in den gängigen Formaten für alle Sprachen bietet.
Nur wenn alle Programme dieses System verwenden, wird das Erscheinungsbild aller Anwendungen sich angleichen. Da aber kaum alle Autoren freier Software ihre alten Quelltexte der Optik wegen umschreiben werden, bleibt diese Einheitlichkeit wohl ein frommer Wunsch.
Infos
[1] Fontconfig: http://www.fontconfig.org
[2] Freetype: http://www.freetype.org
[3] Pango: http://www.pango.org
[4] Gnome Font Sampler: http://linuxadvocate.org/projects/gfontsampler





