## Tips zu Ghostscript-Schriftarten

Diese Anmerkungen verdanken wir Craig Ringer und Russell Lang, dem Programmierer von GSview.

Wenn Ghostscript eine Datei nicht rendern/importieren/konvertieren kann, liegt eine der häufigsten Ursachen darin, daß Ghostscript die Schriftarten nicht findet, die zur Darstellung von EPS bzw. PS nötig sind. Dies ist weder eine Schwäche noch ein Fehler von Ghostscript, denn alle EPS/PS-Interpreter müssen auf die richtigen Schriftarten zugreifen können, die PostScript ihnen vorgibt. Genau das kann sicher auch der Fall sein, wenn Sie versuchen EPS/PS-Dateien nach Scribus zu importieren. Einige Anwendungen betten die Schriftarten nicht korrekt ein, weshalb diese dann extern bereitgestellt werden müssen.

Wenn Ghostcript eine Schriftart nicht finden kann, erscheint in der Konsole gewöhnlich eine Fehlermeldung wie:

      gs -h
      AFPL Ghostscript 8.50 (2004-12-10)
      Copyright (C) 2004 artofcode LLC, Benicia, CA.  All rights reserved.
    blah blah bah...

    invalidfont
    Current allocation mode is local
    Last OS error: No such file or directory
    und so weiter...

Der Fehler invalidfont bedeutet, daß a) Ghostscript die Schriftart(en) nicht finden kann, daß b) Ghostscript keinerlei Schriftarten finden kann, oder daß c) eine Schriftart im System beschädigt oder verstümmelt ist.

Die Lösung:

#### Erzeugen einer Fontmap-Datei

In der GS-Quelldistribution verbirgt sich ein geheimes Juwel:

    $GS_SRC_DIR/toolbin/genfontmap.ps

Dieses kann benutzt werden, um eine Fontmap-Datei zu erstellen – dasselbe machen übrigens jene furchterregenden Perl-Skripte, die im Internet zu finden sind. Diese Ghostscript-Datei muß sich nicht automatisch in Ihrer Distribution befinden, weshalb wir uns hier auf das noch gepackte tar-Quellvereichnis (für eine parallele GS-Installation) beziehen. Benutzen Sie möglichst ein genfontmap.ps der von Ihnen verwendeten Ghostscript-Version. Andere funktionieren möglicherweise nicht korrekt. Dies ist ein weiterer guter Grund, weshalb Sie sich eine neuere Version von Ghostscript beschaffen sollten.

      d$ gs -q -sFONTPATH=/usr/local/share/fonts/TrueType ${HOME}/build/ghostscript-8.31/toolbin/genfontmap.ps

      % This Fontmap generated by genfontmap.ps

      (AndaleMono)    (/usr/local/share/fonts/TrueType/AndaleMo.TTF) ;
      (Arial-Black)   (/usr/local/share/fonts/TrueType/AriBlk.TTF) ;
      (Arial-BoldItalicMT)    (/usr/local/share/fonts/TrueType/Arialbi.TTF) ;
      (Arial-BoldMT)  (/usr/local/share/fonts/TrueType/Arialbd.TTF) ;
      ... bla bla bla ...
      (Utopia-Regular)        (putr.pfa) ;
      (Verdana)       (/usr/local/share/fonts/TrueType/Verdana.TTF) ;
      (Verdana-Bold)  (/usr/local/share/fonts/TrueType/Verdanab.TTF) ;
      (Verdana-BoldItalic)    (/usr/local/share/fonts/TrueType/Verdanaz.TTF) ;
      (Verdana-Italic)        (/usr/local/share/fonts/TrueType/Verdanai.TTF) ;
      (Webdings)      (/usr/local/share/fonts/TrueType/Webdings.TTF) ;
      (ZapfChancery-MediumItalic)     /URWChanceryL-MediItal ;
      (ZapfDingbats)  /Dingbats ;

      genfontmap completed OK. 42 new fonts added.

Sie leiten also die Standardausgabe um oder übertragen (mittels kopieren/einfügen) alles aus der `% This Fontmap..`-Zeile in einen Texteditor, um die Fontmap zu speichern. Kopieren die erstellte FontMap-Datei ins Schriftarten-Verzeichnis und fügen das Verzeichnis dann Ihrer GS_LIB-Umgebungsvariablen hinzu:

Die genaue Pfadbezeichnung kann variieren.

      $ gs -q -sFONTPATH=/usr/local/share/fonts/TrueType ${HOME}/build/ghostscript-8.50/toolbin/genfontmap.ps > /tmp/Fontmap
      $ sudo cp /tmp/Fontmap /usr/local/share/fonts/Truetype
      $ export GS_LIB=/usr/local/share/fonts/TrueType:$GS_LIB

Nun können Sie Scribus von der Konsole aus starten. GhostScript wird die Schriftarten finden und die EPS/PS-Dateien problemlos importieren.

Alternativ können Sie Ihre GS-lib/Fontmap editieren und die neue Fontmap als Quelle eintragen – oder Sie hängen die neuen Fontmap-Einträge an Ihre bestehende lib/Fontmap an.

#### TrueType-Schriften nach dem Anlegen neuer Benutzer

Obwohl sich die Ghostscript-Dokumentation größte Mühe gibt, einen anderen Anschein zu erwecken, werden TrueType-Schriften von Ghostscript gut unterstützt und sind einfach zu verwenden.

Ganz wichtig ist hierbei, daß die Verzeichnisse, die in der GS_FONTPATH-Umgebungsvariablen und im -sFONTPATH-Argument stehen, alle Schriftart-Typen enthalten dürfen, die unterstützt werden – und nicht allein PostScript-Schriftarten, wie es die Dokumentation darstellt.

    $ export GS_FONTPATH=$MY_FONT_DIR:$HOME/.fonts
    $ scribus

#### Ghostscript-Schriftarten und EPS-Import

Der EPS-Import in Scribus ist verknüpft mit dem Schriftarten-Pfad von Ghostscript. Wenn GS die Schriftarten nicht findet, so werden sie kommentarlos ersetzt. Wenn Sie das nicht möchten, sorgen Sie also unbedingt dafür, daß GS diese finden kann.

Es ist zu empfehlen, daß Sie für Ihre Schriftarten-Verzeichnisse Fontmap-Dateien erstellen und diese der GS_LIB-Umgebungsvariablen hinzufügen, denn hierdurch kann GS seine Schriftarten künftig schneller laden. Tests haben bestätigt, daß – sobald GS informiert ist, wo sich die Schriftarten befinden – der EPS-Import in Scribus munter auf lokale Schriftarten zugreift, um dort eine passende zu finden, die von EPS gewünscht, jedoch nicht eingebettet wurde.