Installieren und Konfigurieren von Schriften für die grafische Benutzeroberfläche

Inhaltsverzeichnis

12.1. X11 Core-Schriften
12.2. Xft

Weitere Schriften lassen sich in openSUSE® schnell und einfach installieren. Kopieren Sie einfach die Schriften in ein beliebiges Verzeichnis im X11-Pfad für Schriften (siehe Abschnitt 12.1, „X11 Core-Schriften“). Damit die Schriften verwendet werden können, sollte das Installationsverzeichnis ein Unterverzeichnis der Verzeichnisse sein, die in /etc/fonts/fonts.conf konfiguriert sind (siehe Abschnitt 12.2, „Xft“), oder es sollte über /etc/fonts/suse-font-dirs.conf in diese Datei eingefügt worden sein.

Nachfolgend ein Ausschnitt aus der Datei /etc/fonts/fonts.conf. Diese Datei ist die Standard-Konfigurationsdatei, die für die meisten Konfigurationen geeignet ist. Sie definiert auch das eingeschlossene Verzeichnis /etc/fonts/conf.d. Alle Dateien und symbolischen Links in diesem Verzeichnis, die mit einer zweistelligen Zahl beginnen, werden von fontconfig geladen. Ausführliche Erläuterungen zu dieser Funktion finden Sie in der Datei /etc/fonts/conf.d/README.

<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir> 
<dir>/opt/kde3/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>

/etc/fonts/suse-font-dirs.conf wird automatisch generiert, um Schriften abzurufen, die mit Anwendungen (meist von anderen Herstellern) wie OpenOffice.org, Java oder Adobe Acrobat Reader geliefert werden. Ein typischer Eintrag würde wie folgt aussehen:

<dir>/usr/lib/Adobe/Reader9/Resource/Font</dir>
<dir>/usr/lib/Adobe/Reader9/Resource/Font/PFM</dir>
 

Um zusätzliche Schriften systemweit zu installieren, kopieren Sie Schriftdateien manuell (als root) in ein geeignetes Verzeichnis, beispielsweise /usr/share/fonts/truetype. Alternativ kann diese Aktion auch mithilfe des KDE-Schrift-Installationsprogramms in den persönlichen KDE-Einstellungen durchgeführt werden. Das Ergebnis ist dasselbe.

Anstatt die eigentlichen Schriften zu kopieren, können Sie auch symbolische Links erstellen. Beispielsweise kann dies sinnvoll sein, wenn Sie lizenzierte Schriften auf einer gemounteten Windows-Partition haben und diese nutzen möchten. Führen Sie anschließend SuSEconfig --module fonts aus.

SuSEconfig --module fonts startet das für die Schriftenkonfiguration zuständige Skript /usr/sbin/fonts-config. Weitere Informationen zu diesem Skript finden Sie auf der man-Seite man fonts-config.

Die Vorgehensweise ist für Bitmap-, TrueType- und OpenType-Schriften sowie Type1-Schriften (PostScript) dieselbe. Alle diese Schriften können in einem beliebigen Verzeichnis installiert werden, das fonts-config bekannt ist.

X.Org enthält zwei komplett unterschiedliche Schriftsysteme: das alte X11-Core-Schriftsystem und das neu entwickelte System Xft und fontconfig. In den folgenden Abschnitten wird kurz auf diese beiden Systeme eingegangen.

X11 Core-Schriften

Heute unterstützt das X11 Core-Schriftsystem nicht nur Bitmap-Schriften, sondern auch skalierbare Schriften wie Type1-, TrueType- und OpenType-Schriften. Skalierbare Schriften werden nur ohne Antialiasing und Subpixel-Rendering unterstützt und das Laden von großen skalierbaren Schriften mit Zeichen für zahlreiche Sprachen kann sehr lange dauern. Unicode-Schriften werden ebenfalls unterstützt, aber ihre Verwendung kann mit erheblichem Zeitaufwand verbunden sein und erfordert mehr Speicher.

Das X11 Core-Schriftsystem weist mehrere grundsätzliche Schwächen auf. Es ist überholt und kann nicht mehr sinnvoll erweitert werden. Zwar muss es noch aus Gründen der Abwärtskompatibilität beibehalten werden, doch das modernere System "Xft/fontconfig" sollte immer verwendet werden, wenn es möglich ist.

Der X-Server muss die verfügbaren Schriften und deren Speicherorte im System kennen. Dies wird durch Verwendung der Variablen FontPath erreicht, in der die Pfade zu allen gültigen Schriftverzeichnissen des Systems vermerkt sind. In jedem dieser Verzeichnisse sind die dort verfügbaren Schriften in einer Datei mit dem Namen fonts.dir aufgeführt. Der FontPath wird vom X Server beim Systemstart erzeugt. Der Server sucht an jedem Speicherort, auf den die FontPath-Einträge der Konfigurationsdatei /etc/X11/xorg.conf verweisen, nach einer gültigen fonts.dir-Datei. Diese Einträge befinden sich im Abschnitt Files. Der FontPath lässt sich mit dem Befehl xset q anzeigen. Dieser Pfad kann auch zur Laufzeit mit dem Befehl xset geändert werden. Zusätzliche Pfade werden mit xset+fp <Pfad> hinzugefügt. Unerwünschte Pfade können mit xset-fp <Pfad> gelöscht werden.

Wenn der X-Server bereits aktiv ist, können Sie neu installierte Schriften in eingehängten Verzeichnissen mit dem Befehl xsetfp rehash verfügbar machen. Dieser Befehl wird von SuSEconfig--module fonts ausgeführt. Da zur Ausführung des Befehls xset der Zugriff auf den laufenden X-Server erforderlich ist, ist dies nur möglich, wenn SuSEconfig--module fonts von einer Shell aus gestartet wird, die Zugriff auf den laufenden X-Server hat. Am einfachsten erreichen Sie dies, indem Sie su und das root-Passwort eingeben und dadurch root-Berechtigungen erlangen. su überträgt die Zugriffsberechtigungen des Benutzers, der den X Server gestartet hat, auf die root-Shell. Wenn Sie überprüfen möchten, ob die Schriften ordnungsgemäß installiert wurden und über das X11 Core-Schriftsystem verfügbar sind, geben Sie den Befehl xlsfonts ein, um alle verfügbaren Schriften aufzulisten.

Standardmäßig arbeitet openSUSE mit UTF-8-Gebietsschemata. Daher sollten nach Möglichkeit Unicode-Schriften verwendet werden (Schriftnamen, die in der von xlsfonts ausgegebenen Liste auf iso10646-1 enden). Alle verfügbaren Unicode-Schriften lassen sich über das Kommando xlsfonts | grep iso10646-1 auflisten. Praktisch alle Unicode-Schriften, die unter openSUSE zur Verfügung stehen, umfassen zumindest die für europäische Sprachen erforderlichen Schriftzeichen (früher als iso-8859-* kodiert).

Xft

Die Programmierer von Xft haben von Anfang an sichergestellt, dass auch skalierbare Schriften, die Antialiasing nutzen, problemlos unterstützt werden. Bei Verwendung von Xft werden die Schriften von der Anwendung, die die Schriften nutzt, und nicht vom X-Server gerendert, wie es beim X11 Core-Schriftsystem der Fall ist. Auf diese Weise hat die jeweilige Anwendung Zugriff auf die eigentlichen Schriftdateien und kann genau steuern, wie die Zeichen gerendert werden. Dies bildet eine optimale Basis für die ordnungsgemäße Textdarstellung für zahlreiche Sprachen. Direkter Zugriff auf die Schriftdateien ist sehr nützlich, wenn Schriften für die Druckausgabe eingebettet werden sollen. So lässt sich sicherstellen, dass der Ausdruck genau der Bildschirmdarstellung entspricht.

Unter openSUSE nutzen die beiden Desktop-Umgebungen (KDE und GNOME), Mozilla und zahlreiche andere Anwendungen bereits standardmäßig Xft. Xft wird inwischen von mehr Anwendungen genutzt als das alte X11 Core-Schriftsystem.

Xft greift für die Suche nach Schriften und für deren Darstellung auf die fontconfig-Bibliothek zurück. Die Eigenschaften von fontconfig werden durch die globale Konfigurationsdatei /etc/fonts/fonts.conf gesteuert. Spezielle Konfigurationen sollten zu /etc/fonts/local.conf und der benutzerspezifischen Konfigurationsdatei ~/.fonts.conf hinzugefügt werden. Jede dieser fontconfig-Konfigurationsdateien muss folgendermaßen beginnen:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

Enden müssen die Dateien wie folgt:

</fontconfig>

Wenn Sie möchten, dass weitere Verzeichnisse nach Schriften durchsucht werden sollen, fügen Sie Zeilen in der folgenden Weise hinzu:

<dir>/usr/local/share/fonts/</dir>

Dies ist jedoch in der Regel nicht erforderlich. Standardmäßig ist das benutzerspezifische Verzeichnis ~/.fonts bereits in die Datei /etc/fonts/fonts.conf eingetragen. Entsprechend müssen Sie die zusätzlichen Schriften einfach nur nach ~/.fonts kopieren, um sie zu installieren.

Außerdem können Sie Regeln angeben, die die Darstellung der Schriften beeinflussen. Geben Sie beispielsweise Folgendes ein:

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

Hierdurch wird das Antialiasing für alle Schriften aufgehoben. Wenn Sie hingegen

<match target="font">
 <test name="family">
  <string>Luxi Mono</string>
  <string>Luxi Sans</string>
 </test>
 <edit name="antialias" mode="assign">
 <bool>false</bool>
 </edit>
</match>

eingeben, wird das Antialiasing nur für bestimmte Schriften aufgehoben.

Standardmäßig verwenden die meisten Anwendungen die Schriftbezeichnungen sans-serif (bzw. sans), serif oder monospace. Hierbei handelt es sich nicht um eigentliche Schriften, sondern nur um Aliasnamen, die je nach Spracheinstellung in eine passende Schrift umgesetzt werden.

Benutzer können problemlos Regeln zur Datei ~/.fonts.conf hinzufügen, damit diese Aliasnamen in ihre bevorzugten Schriften umgesetzt werden:

<alias>
 <family>sans-serif</family>
 <prefer>
  <family>FreeSans</family>
 </prefer>
</alias>
<alias>
 <family>serif</family>
 <prefer>
  <family>FreeSerif</family>
 </prefer>
</alias>
<alias>
 <family>monospace</family>
 <prefer>
  <family>FreeMono</family>
 </prefer>
</alias>

Da fast alle Anwendungen standardmäßig mit diesen Aliasnamen arbeiten, betrifft diese Änderung praktisch das gesamte System. Daher können Sie nahezu überall sehr einfach Ihre Lieblingsschriften verwenden, ohne die Schrifteinstellungen in den einzelnen Anwendungen ändern zu müssen.

Mit dem Befehl fc-list finden Sie heraus, welche Schriften installiert sind und verwendet werden können. Der Befehl fc-list gibt eine Liste aller Schriften zurück. Wenn Sie wissen möchten, welche der skalierbaren Schriften (:scalable=true) alle erforderlichen Zeichen für Hebräisch (:lang=he) enthalten und Sie deren Namen (family), Schnitt (style) und Stärke (weight) sowie die Namen der entsprechenden Schriftdateien anzeigen möchten, geben Sie folgendes Kommando ein:

fc-list ":lang=he:scalable=true" family style weight

Auf diesen Befehl kann beispielsweise Folgendes zurückgegeben werden:

Lucida Sans:style=Demibold:weight=200
DejaVu Sans:style=Bold Oblique:weight=200
Lucida Sans Typewriter:style=Bold:weight=200
DejaVu Sans:style=Oblique:weight=80
Lucida Sans Typewriter:style=Regular:weight=80
DejaVu Sans:style=Book:weight=80
DejaVu Sans:style=Bold:weight=200
Lucida Sans:style=Regular:weight=80

In der folgenden Tabelle finden Sie wichtige Parameter, die mit dem Befehl fc-list abgefragt werden können:

Tabelle 12.1. Parameter zur Verwendung mit fc-list

Parameter

Bedeutung und zulässige Werte

family

Der Name der Schriftamilie, z. B. FreeSans.

foundry

Der Hersteller der Schrift, z. B. urw.

style

Der Schriftschnitt, z. B. Medium, Regular, Bold, Italic oder Heavy.

lang

Die Sprache, die von dieser Schrift unterstützt wird, z. B. de für Deutsch, ja für Japanisch, zh-TW für traditionelles Chinesisch oder zh-CN für vereinfachtes Chinesisch.

weight

Die Schriftstärke, z. B. 80 für normale Schrift oder 200 für Fettschrift.

slant

Die Schriftneigung, in der Regel 0 für gerade Schrift und 100 für Kursivschrift.

geschrieben werden

Der Name der Schriftdatei.

outline

true für Konturschriften oder false für sonstige Schriften.

scalable

true für skalierbare Schriften oder false für sonstige Schriften.

bitmap

true für Bitmap-Schriften oder false für sonstige Schriften.

pixelsize

Schriftgröße in Pixel. In Verbindung mit dem Befehl "fc-list" ist diese Option nur bei Bitmap-Schriften sinnvoll.