35.3. Installation und Konfiguration von Schriften

Die Installation zusätzlicher Schriften unter SUSE Linux ist sehr einfach. Kopieren Sie einfach die Schriften in ein beliebiges Verzeichnis im X11-Pfad für Schriften (siehe Abschnitt 35.3.2, „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 35.3.1, „Xft“).

Die Schriftdateien können manuell (vom root) in ein geeignetes Verzeichnis, beispielsweise /usr/X11R6/lib/X11/fonts/truetype, kopiert werden. Alternativ kann diese Aktion auch mithilfe des KDE-Schrift-Installationsprogramms im KDE-Kontrollzentrum 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 Skript /usr/sbin/fonts-config, das sich um die Konfiguration der Schriften kümmert. Weitere Informationen zur Arbeitsweise dieses Skripts finden Sie auf der Manualpage des Skripts (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. Nur für CID-keyed-Schriften ist eine geringfügig unterschiedliche Vorgehensweise erforderlich. Weitere Informationen hierzu finden Sie in Abschnitt 35.3.3, „CID-keyed-Schriften“.

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

35.3.1. 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 SUSE Linux nutzen die beiden Desktopumgebungen KDE und GNOME sowie 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 und die benutzerspezifische Konfigurationsdatei ~/.fonts.conf bestimmt. 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 folgenden Befehl ein:

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

Auf diesen Befehl kann beispielsweise Folgendes zurückgegeben werden:

 
FreeSansBold.ttf: FreeSans:style=Bold:weight=200
FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200
FreeSerif.ttf: FreeSerif:style=Medium:weight=80
FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200
FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80
FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80
FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80
FreeMono.ttf: FreeMono:style=Medium:weight=80
FreeSans.ttf: FreeSans:style=Medium:weight=80
FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200
FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200
FreeMonoBold.ttf: FreeMono:style=Bold:weight=200

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

Tabelle 35.2. 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 und 200 für Fettschrift.

slant

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

file

Der Name der Schriftdatei.

outline

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

scalable

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

bitmap

true für Bitmap-Schriften und 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.

35.3.2. X11 Core-Schriften

Heute unterstützt das X11 Core-Schriftsystem nicht nur Bitmap-Schriften, sondern auch skalierbare Schriften wie Type1-, TrueType- und OpenType-Schriften sowie CID-keyed-Schriften. Auch Unicode-Schriften werden bereits seit einiger Zeit unterstützt. Das X11 Core-Schriftsystem wurde im Jahre 1987 ursprünglich für X11R1 entwickelt, um monochrome Bitmap-Schriften zu verarbeiten. Alle oben erwähnten Erweiterungen wurden erst später vorgenommen.

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. Auch die Verwendung von Unicode-Schriften 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 Variable 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 mithilfe von xset +fp <Pfad> hinzugefügt. Unerwünschte Pfade lassen sich mit xset -fp <Pfad> löschen.

Wenn der X-Server bereits aktiv ist, können Sie neu installierte Schriften in gemounteten Verzeichnissen mit dem Befehl xset fp rehash verfügbar machen. Dieser Befehl wird von SuSEconfig --module fonts ausgeführt. Da zur Ausführung des Befehls xset 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 lässt sich dies mit root-Berechtigungen erreichen. Geben Sie hierzu su und das root-Passwort ein. su überträgt die Zugriffsberechtigungen des Benutzers, der den X-Server gestartet hat, an 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 SUSE Linux 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 den Befehl xlsfonts | grep iso10646-1 auflisten. Praktisch alle Unicode-Schriften, die unter SUSE Linux zur Verfügung stehen, umfassen zumindest die für europäische Sprachen erforderlichen Schriftzeichen (früher als iso-8859-* codiert).

35.3.3. CID-keyed-Schriften

Im Gegensatz zu den anderen Schrifttypen können Sie CID-keyed-Schriften nicht einfach in einem beliebigen Verzeichnis installieren. CID-keyed-Schriften müssen in /usr/share/ghostscript/Resource/CIDFont installiert werden. Dies gilt nicht für Xft/fontconfig, ist jedoch für Ghostscript und das X11 Core-Schriftsystem erforderlich.

[Tip]Tipp

Weitere Informationen zu Schriften unter X11 finden Sie unter http://www.xfree86.org/current/fonts.html.