X11 Schriften

Wer viel mit Texten hantiert oder Debian GNU/Linux im grafischen Bereich einsetzt, kommt nicht um den Einsatz von unterschiedlichsten Schriften herum. Die grafische Oberfläche X11 setzt standardmäßig Schriften im Postscript-Format ein. Debian GNU/Linux liefert eine ganze Reihe von diesen Schriften mit. Auf anderen Betriebssystemen haben sich aber auch Schriften im sogenannten True-Type-Format durchgesetzt, diese findet man bei vielen kommerziellen Programmen oder als Zugabe auf CDs in diversen Computerzeitschriften sowie im Internet. Im folgenden wird beschrieben, wie diese Schriften unter Debian GNU/Linux genutzt werden können.

Wenn Sie Display-Manager, wie zum Beispiel xdm oder gdm, einsetzen, sollten Sie diesen zuallererst deaktivieren. Sie müssen einige Änderungen an den Konfigurationsdateien ihres X-Servers vornehmen, dies kann dazu führen, daß dieser nicht mehr korrekt startet und das System in einen unbenutzbaren Zustand bringt. Nach erfolgreicher Änderung können Sie den Display-Manager natürlich wieder aktivieren. Sie können xdm deaktivieren, indem Sie das Kommando: /etc/init.d/xdm stop ausführen, beachten Sie jedoch, daß so beim nächsten Neustart des Systems der xdm wieder gestartet wird. Um xdm dauerhaft zu deaktivieren, können Sie einfach das Paket löschen (mit dpkg -r xdm) oder am Anfang der Datei /etc/init.d/xdm die Zeile exit 0 einfügen. Für die folgenden Versuche können Sie mit dem Kommando startx den X-Server starten.

Allgemeines zu Schriften

Sicher ist Ihnen schon aufgefallen, daß viele Seiten im Web auf Ihrem Linux-System mit kleineren Schriften dargestellt werden als auf anderen Betriebssystemen. Dies hängt mit der Auflösung unter den verschiedenen Betriebssystemen zusammen. Der von anderen Betriebssystemen verwendeten Auflösung von 72 dpi (Dots per Inch) stehen 75 dpi unter X11 gegenüber. Dies führt dazu, daß viele Schriften zu klein dargestellt werden, diese erscheinen in ca. 2/3 der eigentlichen Größe. Eine 12-Punkte-Schrift erscheint somit nur als 9 Punkte und eine 9 Punkte als 6-Punkte-Schrift.

Es gibt drei Ansatzpunkte, um dies zu beheben. Zuerst können Sie dem X-Server die gewünschte Auflösung mitteilen. Wenn Sie einen Login-Manager wie XDM benutzen, ändern Sie hierzu in der Datei /etc/X11/xdm/Xservers die Zeile:


:0 local /usr/X11R6/bin/X

in


:0 local /usr/X11R6/bin/X -dpi 120
Wenn Sie GDM als Login-Manager benutzen, tragen Sie die Option -dpi 120 in die Datei /etc/X11/gdm/gdm.conf, im Abschnitt „servers“, ein.

[servers]
0=/usr/bin/X11/X vt7 -dpi 120

Als nächsten Schritt sorgen Sie dafür, daß die X11-Schriften mit 100dpi installiert sind und vom X-Server zuerst gefunden werden. Ändern Sie hierzu die Datei /etc/X11/XF86Config wie folgt:


     Section "Files"
         RgbPath    "/usr/X11R6/lib/X11/rgb"
         FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
         FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
         FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
         FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
         FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
     EndSection

Wichtig ist hierbei die Reihenfolge. Die Zeile mit dem Pfad zu den 100dpi-Schriften muß vor der Zeile mit den 75dpi-Schriften stehen.

Nun stehen wir noch vor dem Problem, daß Schriften, die nicht in der benötigten Größe auf dem System vorhanden sind, vom X-Server automatisch durch Kopieren einzelner Pixel vergrößert werden. Dies führt zu sehr häßlichen „Treppeneffekten“ bei den Schriften. Sie können diese umgehen, indem Sie den X-Server anweisen, zuerst skalierbare Schriften zu nutzen, dann Bitmap-Schriften der passenden Größe und zuletzt die Bitmap-Schriften zu skalieren. Dies erfordert etwas mehr Rechenaufwand vom System, führt aber zu den besten Ergebnissen. Wenn Sie über einen langsamen Rechner verfügen sollten Sie sich überlegen, auf die skalierten Schriften zu verzichten. Hier ein Ausschnitt aus der Datei /etc/X11/XF86Config mit den passenden Einträgen:


     Section "Files"
         RgbPath    "/usr/X11R6/lib/X11/rgb"
         FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
         FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
         FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
         FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
         FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
         FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
         FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
     EndSection

Beachten Sie in jedem Fall, daß die benötigten Pakete mit den Schriften installiert sein müssen.

xfs - X11 Font-Server

Installieren Sie zunächst das Paket xfs_*.deb. Die Konfigurationsdatei zu xfs (/etc/X11/xfs/config) enthält, ebenso wie die X11-Konfiguration, die Pfade zu den Schriften auf Ihrem System. Auch können Sie hier die Auflösung der Schriften einstellen.


# paths to search for fonts
catalogue =
 /usr/X11R6/lib/X11/fonts/100dpi/:unscaled,
 /usr/X11R6/lib/X11/fonts/75dpi/:unscaled,
 /usr/X11R6/lib/X11/fonts/misc/,
 /usr/X11R6/lib/X11/fonts/Speedo/,
 /usr/X11R6/lib/X11/fonts/Type1/,
 /usr/X11R6/lib/X11/fonts/100dpi/,
 /usr/X11R6/lib/X11/fonts/75dpi/
# x1,y1,x2,y2,...
 default-resolutions = 100,100,75,75

Überprüfen Sie die Einstellungen und passen Sie diese ggf. Ihrem System an. Starten Sie danach den Font-Server neu mit dem Kommando: /etc/init.d/xfs restart . Bevor Sie den X-Server so konfigurieren, daß er den Font-Server benutzt, anstatt die Fonts direkt zu laden, können Sie die Funktionsfähigkeit des Font-Servers testen. Hierzu dient das Kommando fslsfonts:


$ fslsfonts -server unix/:7100
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
....

Dieses Kommando sollte Ihnen alle installierten Schriften auf Ihrem System anzeigen. Wenn die Installation bis hierhin erfolgreich war, können Sie sich daran wagen, den X-Server von der Benutzung des neuen Font-Servers zu überzeugen. Hierzu müssen Sie wieder einmal einige Änderungen an der Datei /etc/X11/XF86Config vornehmen.


Section "Files"
     FontPath   "unix/:7100"
     FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
EndSection

Reduzieren Sie den kompletten Abschnitt mit den Pfaden zu den Schriften auf die beiden oben gezeigten Zeilen. Dies veranlaßt den X-Server dazu, zuerst den Font-Server zu benutzen. Lassen Sie auch die eine Zeile mit dem direkten Pfad in der Datei stehen für den Fall, daß der Font-Server nicht erreichbar sein sollte.

Sie können nun den X-Server wieder starten (mit startx) und wenn alles funktioniert auch den Login-Manager xdm wieder aktivieren. Wenn Sie den X-Server gestartet haben, können Sie in einem X-Terminal überprüfen, ob auch alle Schriften gefunden werden:


$ xlsfonts
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
....

xfstt - X11 True Type Font-Server

Um True-Type-Schriften benutzen zu können, benötigen Sie zunächst einen sogenannten Font-Server.

Mit der Version 4.0 von XFree86 werden auch True-Type-Fonts direkt vom X-Server ,unterstützt. Die Verwendung eines speziellen Font-Servers ist nicht notwendig.

Wenn die ältere Version 3.x von XFree86 zu Einsatz kommt, so ist der Einsatz eines Font-Servers für True-Type Fonts notwendig. Unter Debian GNU/Linux dient hierzu das Paket xfstt_*.deb. Dieses können Sie wie gewohnt mit Apt oder dselect installieren.

Installieren Sie nun einige True-Type-Fonts. Sie finden Schriften in diesem Format auf vielen Seiten im Netz oder auf CD-ROMs von Computerzeitschriften. Kopieren Sie die Dateien (mit der Endung .ttf) in das Verzeichnis /usr/share/fonts/truetype. Stellen Sie auch sicher, daß die Schriften vom Font-Server gelesen werden können.

Starten Sie danach den Font-Server neu mit dem Kommando: /etc/init.d/xfstt force-reload. Auch bei diesem Font-Server können Sie vorab kontrollieren, ob alles korrekt installiert wurde. Beachten Sie bitte, daß die Standardeinstellungen unter Debian den Port 7101 statt 7100 für den True Type Font-Server benutzen. Weiterhin sind die Zugriffsrechte so vergeben, daß ein Zugriff nur als Superuser möglich ist. Wenn Sie versuchen, als Benutzer auf den Server zuzugreifen, erhalten Sie folgende Meldung:


$ fslsfonts -server unix/:7101
_FSTransSocketUNIXConnect: Can't connect: errno = 111
fslsfonts:  unable to open server "unix/:7101"

Als Superuser sollten Ihnen die verfügbaren Schriften angezeigt werden:


# fslsfonts -server unix/:7101
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1

Wenn bis hierher keine Probleme aufgetreten sind, können Sie dem X-Server beibringen, auch diesen Font-Server zu benutzen. Wie schon bei den Schriften, ist auch hier die Reihenfolge der Einträge entscheidend, Einträge weiter oben in der Liste werden vorrangig behandelt. In diesem Beispiel wird also zuerst der True Type Font-Server befragt, danach der normale Font-Server. Der entsprechende Ausschnitt aus der Datei /etc/X11/XF86Config:


Section "Files"
   FontPath   "unix/:7101"
   FontPath   "unix/:7100"
   FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
EndSection

Auch nach dieser Änderung können Sie wieder, nachdem Sie mit startx den X-Server gestartet haben, die Verfügbarkeit der Schriften prüfen:


$ xlsfonts | grep ttf
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
....

Sie können nun die neuen Schriften in Programmen wie The Gimp, Netscape oder Staroffice benutzen. Wenn Sie weitere True-Type-Schriften installieren (durch einfaches Kopieren der Dateien nach /usr/share/fonts/truetype/), müssen Sie den Font-Server neu starten, damit die Schriften dem System bekannt gemacht werden. Benutzen Sie dazu das Kommando: /etc/init.d/xfstt restart.

Microsoft Fonts

Sicherlich kennen Sie das Problem von unleserlichen Fonts auf Webseiten, häufig werden diese unleserlich klein dargestellt. Grund hierfür ist das der Designer der Seite fest eingestellte Schriften benutzt hat die auf dem Zielsystem nicht verfügbar sind. Das Problem läßt sich zwar durch entsprechende Browsereinstellungen umgehen, eleganter ist es jedoch die benötigten Schriften einfach zu installieren.

Auf dem Webseiten der Firma Microsoft finden sich einige TrueType Fonts zum Download. Leider liegen diese nur in einem selbstentpackenden Format vor, welches zudem noch ein installiertes Windows benötigt...

Zur Lösung all dieser Probleme ist das Debian Paket msttcorefonts verfügbar, dieses benötigt ausserdem das Paket cabextract welches die Selbstentpackenden Archive extrahieren kann. Aufgrund von Lizenzbedingungen sind die eigentlichen Archive mit den TrueType Schriften nicht in dem Debian Paket enthalten, diese werden jedoch während der Installation des Paketes vom Server geholt.


sushi:/home/fr# apt-get install msttcorefonts
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  cabextract 
The following NEW packages will be installed:
  cabextract msttcorefonts 
0 packages upgraded, 2 newly installed, 0 to remove and 158  not upgraded.
Need to get 19.3kB of archives. After unpacking 164kB will be used.
Do you want to continue? [Y/n] 
Get:1 ftp://ftp.freenet.de woody/contrib msttcorefonts 0.8.2 [4276B]
Get:2 ftp://ftp.freenet.de woody/main cabextract 0.2-2 [15.0kB]
Fetched 19.3kB in 1s (14.0kB/s)
Wähle vormals gewähltes Paket cabextract.
(Lese Datenbasis ... 96010 Dateien und Verzeichnisse sind momentan installiert.)
Packe cabextract aus (von .../cabextract_0.2-2_i386.deb) ...
Wähle vormals gewähltes Paket msttcorefonts.
Packe msttcorefonts aus (von .../msttcorefonts_0.8.2_all.deb) ...
Installiere cabextract (0.2-2) ...

Installiere msttcorefonts (0.8.2) ...

These fonts are provided by Microsoft "in the interest of cross-
platform compatibility".  You are free to download these fonts and
use them for your own use, but you may not redistribute these fonts
without first registering with Microsoft and following their restrictions.

--16:18:19--  http://www.microsoft.com/typography/downloads/andale32.exe
           => `andale32.exe'
Verbindungsaufbau zu www.microsoft.com:80... verbunden!
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 198,384 [application/x-msdownload]

    0K -> .......... .......... .......... .......... .......... [ 25%]
   50K -> .......... .......... .......... .......... .......... [ 51%]
  100K -> .......... .......... .......... .......... .......... [ 77%]
  150K -> .......... .......... .......... .......... ...        [100%]

...

Nach dem Download aller Fontpakete, werden diese entpackt und die Dateien an die entsprechenden Stellen kopiert.

Nach der Installation des Paketes stehen die folgenden Schriften zur Verfügung: Andale Mono, Arial Black, Arial (Bold, Italic, Bold Italic), Comic Sans MS (Bold), Courier New (Bold, Italic, Bold Italic), Georgia (Bold, Italic, Bold Italic), Impact, Times New Roman (Bold, Italic, Bold Italic), Trebuchet (Bold, Italic, Bold Italic), Verdana (Bold, Italic, Bold Italic), Webdings.