Wiki Home Sitemap Editieren

TrueTypeFontsUnterLinux

Linux nutzt aus UNIX-historischen Gründen standardmäßig zur Darstellung von Schriften Type1 Fonts. Diese werden sowohl was Druck als auch Bildschirmausgabe betrifft in sehr guter Qualität unterstützt. Leider sind die Standardeinstellungen der Distributionen nicht immer optimal, so daß in vielen Fällen eine Anpassung der Einstellungen unbedingt zu empfehlen ist. Dazu solltet ihr das HowTo LinuxSchriftenOptimieren lesen. Bei richtiger Konfiguration ist die Darstellung von Type1-Fonts durchaus den TrueType? Fonts vorzuziehen. Weshalb dann überhaupt TrueType? Fonts nutzen?

  • TrueType? Schriften (übrigens eine Erfindung von Apple ;-) ) sind auf Grund der Verbreitung von Windows die bevorzugten Fonts im Internet. Um entsprechende Webseiten in der vom Entwickler beabsichtigten Form darzustellen wird auf dem eigenen Rechner der zugehörige Font benötigt.
  • Bei der Gestaltung von eigenen Schriftstücken möchte man auf Schriftarten oder Symbole zurückgreifen, die nur in Form von Truetype Fonts vorliegen.
  • Man möchte aus Gründen der Kompatibilität von zu anderen Plattformen (speziell Windows) Truetype Fonts nutzen

Für die Unterstützung von TrueType? Fonts sind sogenannte Fontserver zuständig. Jede aktuelle Distribution bietet meist mehrere solcher Fontserver zur Installation an. Beispiele dafür sind xfstt oder xfsft (oder sein RedHat Ableger xfs). Das aktuelle XFree86 (ab Version 4) hat einen solchen Fontserver auf der Basis von xfsft bereits integriert. Eine separate Installation ist deshalb nicht mehr nötig. Selbstverständlich können aber alternativen Fontserver weiterhin genutzt werden. Im folgenden wird nur die Einbindung von TrueType? Fonts mit Hilfe des Standardfontservers von XFree86 4.x beschrieben. Dabei liegt der Schwerpunkt bewußt auf der manuellen Konfiguration. Die verschiedenen Distributionen stellen allerdings auch Tools bereit, die den Installationsvorgang an vielen Punkten erleichtern. Falls ihr solche Tools aus eurer Distribution genutzt habt, ergänzt bitte dieses HowTo mit dem Hinweis auf die jeweilige Distribution entsprechend.

Voraussetzungen:
  • TrueType? Fonts ;-) Truetype Fonts (zu erkennen an der Endung ttf) können aus den verschiedensten Quellen stammen. Das kann z.B. ein eurer Distribution beiliegendes Schriftenpaket sein, eine vorhandene Windows-Installation oder eine Internetressource mit freien TrueType? Schriften. Die am häufigsten verwendeten Fonts, die sogenannten Corefonts können auch direkt von httpMicrosoft geladen werden. Da diese Corefonts im Windows-Cab Format vorliegen, benötigt ihr zum entpacken noch httpcabextract. Verschiedene Distributionen stellen Tools oder Pakete zur Verfügung, die den Download und das Entpacken automatisieren.

So werden z.B. bei Debian bei der Installation des Paketes msttcorefonts automatisch die Fonts aus dem Internet geladen und entpackt.

Für RedHat steht unter httphttp://www.tuxfan.homeip.net:8080/rpms/ ein entsprechendes rpm-Paket (xf86ttfontool) zur Verfügung (Download für httpRedHat7?.2 bzw. httpRedHat7?.3).

  • die httpFreetype2-Library - diese ist aber bei einer XFree86 4.x Installation bereits standardmäßig installiert
  • ttmkfdir - entweder in eurer Distribution enthalten oder httphier zum Download
Installation der Schriften:

Die folgenden Schritte müssen als root durchgeführt werden.

> su

Falls eure Distribution Pakete mit TrueType? Schriften bereitstellt werden diese i.a. ins Verzeichnis /usr/X11R6/lib/X11/fonts/TrueType installiert. Bei der Verwendung von TrueType? Fonts aus anderen Quellen können diese im Prinzip in das gleiche Verzeichnis kopiert werden. Es ist aber zu empfehlen, eigene Dateien sauber von den vom System installierten zu trennen. Der nächste Schritt ist also das Erstellen eines geeigneten Verzeichnisses und das Kopieren der *.ttf Dateien in das Verzeichnis:

# mkdir -p /usr/local/share/fonts/ttfonts
# cd /usr/local/share/fonts/ttfonts
# cp /Quellpfad_der_TrueType_fonts/*ttf .

Für die neuen Fonts werden noch sogenannte Indexdateien benötigt (fonts.scale und fonts.dir). Für unsere neuen TrueType? Fonts haben beide Dateien den gleichen Inhalt. Das Erstellen der Indexdateien übernimmt ttmkfdir. Als erstes sollte man einen Probelauf von ttmkfdir durchführen um die Integrität der Fonts zu testen:

# ttmkfdir

Es sollte jetzt eine längere Ausgabe in der Form:

Arial_Bold.ttf -monotype-Arial-bold-r-normal--0-0-0-0-p-0-dosencoding-cp850
Arial_Bold.ttf -monotype-Arial-bold-r-normal--0-0-0-0-p-0-dosencoding-cp437
Arial_Bold.ttf -monotype-Arial-bold-r-normal--0-0-0-0-p-0-tcvn-5712
Arial_Bold.ttf -monotype-Arial-bold-r-normal--0-0-0-0-p-0-viscii1.1-1
...

erfolgen. Wenn Fonts fehlerhafte Ausgaben liefern sollten diese Fonts nicht verwendet werden (löschen). Wenn die Ausgabe in Ordnung ist kann die erste Indexdatei erstellt werden:

# ttmkfdir -o fonts.scale

An der Stelle sollten wir noch etwas Feintuning betreiben und die für uns wichtigen Indizees der Fonts an die jeweils vordere Position bringen. Dabei erstellen wir gleich die Datei fonts.dir mit.

# head -1 fonts.scale > fonts.dir
# tail +2 fonts.scale | tac >> fonts.dir
# cp fonts.dir fonts.scale

Als nächstes müssen wir X mitteilen, wo die neuen Fonts zu finden sind.
Mit einem beliebigen Editor ist in der Konfigurationsdatei für XFree86 (i.a. /etc/X11/XF86Config-4) in der Sektion "Files" das neue Fontverzeichnis in folgender Form einzutragen:

Section "Files"
...
FontPath "/usr/local/share/fonts/ttfonts"

Damit die TrueType? Fonts genutzt werden können muß der Freetype-Modul geladen sein. Deshalb muß unter "Module" freetype aufgeführt sein. Ist das noch nicht der Fall ist diese Sektion auch zu ergänzen:

Section "Module"
...
Load"freetype"

Nach dem Speichern der Datei stehen nach dem nächsten Start von X die TrueType? Fonts zur Verfügung.

Weiteres: TrueTypeUnterAbiWord




Todo: fonts.alias, Antialiasing


Letzte Änderung am Mittwoch, Mai 15, 2002 8:08:46 .

[ BackLinks ]