Font-Formate
Fonts

Font-Server

Wo sind die Fonts? Im Font-Pfad

Font-Dateien sind nach gewissen Kriterien - meist nach Herkunft oder Format - in Verzeichnissen verteilt. In jedem dieser Verzeichnisse befindet sich eine Datei fonts.dir, die zu sämtlichen Font-Dateien in diesem Verzeichnis die Font-Namen listet. Zusätzlich enthält eine Datei fonts.alias die Liste der Alias-Namen für diese Fonts.
Diese Dateien werden mit dem Tool mkfontdir erzeugt. Fügt man einem Verzeichnis weitere Font-Dateien hinzu oder legt man ein neues Verzeichnis mit Fonts an, so ist der anschließende Aufruf von mkfontdir obligatorisch.

Die Liste der Font-Verzeichnisse, die ein X-Server verwendet, wird Font-Pfad (engl. font path) genannt. Dies ist, ähnlich wie die PATH-Umgebungsvariable, ein Suchpfad für Fonts, die von X-Clients angefordert werden.
In xorg.conf ist diese Liste folgendermaßen angelegt:

Section "Files"
  FontPath     "/usr/share/fonts/misc:unscaled"
  FontPath     "/usr/share/fonts/local"
  FontPath     "/usr/share/fonts/75dpi:unscaled"
  FontPath     "/usr/share/fonts/100dpi:unscaled"
  FontPath     "/usr/share/fonts/Type1"
  FontPath     "/usr/share/fonts/URW"
  FontPath     "/usr/share/fonts/Speedo"
  FontPath     "/usr/share/fonts/PEX"
  FontPath     "/usr/share/fonts/cyrillic"
  FontPath     "/usr/share/fonts/latin2/misc:unscaled"
  FontPath     "/usr/share/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/share/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/share/fonts/latin2/Type1"
  FontPath     "/usr/share/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/share/fonts/baekmuk:unscaled"
  FontPath     "/usr/share/fonts/japanese:unscaled"
  FontPath     "/usr/share/fonts/kwintv"
  FontPath     "/usr/share/fonts/truetype"
  FontPath     "/usr/share/fonts/uni:unscaled"
  FontPath     "/usr/share/fonts/CID"
  FontPath     "/usr/share/fonts/ucs/misc:unscaled"
  FontPath     "/usr/share/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/share/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/misc:unscaled"
  FontPath     "/usr/share/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/share/fonts/hellas/Type1"
  FontPath     "/usr/share/fonts/misc/sgi:unscaled"
  FontPath     "/usr/share/fonts/xtest"
  FontPath     "/opt/kde3/share/fonts"

Auch die Reihenfolge dieser Verzeichnisse ist relevant, da die oft mit Wildcards (*) abgekürzten Font-Namen mehrdeutig sein können. Wenn in so einem Fall mehrere der zur Verfügung stehenden Fonts passen, dann wird immer der, der in der Reihenfolge der Font-Verzeichnisse weiter vorne steht, ausgewählt.

Der Font-Pfad zählt zu den Eigenschaften des X-Servers, die im laufenden Betrieb verändert werden können. Dazu dient wiederum das bereits beschriebene Tool xset:
xset fp+ /path/to/fonts   fügt dem Font-Pfad ein Verzeichnis hinzu.

xset fp- /path/to/fonts   entfernt dieses Verzeichnis aus dem Font-Pfad

xset fp = path1,path2, ...   setzt den ganzen Font-Pfad neu.

xset fp default   setzt den Font-Pfad zurück auf den Default (wie in xorg.conf angegeben).

xset fp rehash   sollte nach jeder Änderung des Font-Pfads sowie nach Änderungen in einzelnen Font-Verzeichnissen (also nach einem mkfontdir) ausgeführt werden.
Auskunft über den aktuellen Font-Pfad entnimmt man der Ausgabe von  xset q  ("query").
Neben Verzeichnissen tauchen hier u.U. auch Angaben der Art  tcp/servername:7100  auf. Das ist aber Thema des nächsten Kapitels: Font-Server.
Font-Formate
     ©2005, 2007 Andreas Gottwald
Font-Server