Weiterführende Ghostscript- und GSview-Hinweise

## Weiterführende Ghostscript- und GSview-Hinweis

Zu den Frustrationen von Anwendern RPM-basierter und kommerzieller Distributionen gehört es, daß diese nicht mit den neuesten Ghostscript-Versionen ausgeliefert werden.

Da die Ressourcenkonfiguration (also die Einstellungen für die Speicherorte von Fonts und Fontmaps) sich geändert hat, funktioniert es nicht recht, einfach ein RPM-Paket aus dem Quelltext zu bauen. Ich habe es unter RedHat weiß Gott versucht, und ich halte mich für einen ziemlich erfahrenen RPM-Paket-Bauer. Wenn Sie sich die Spec-Datei für RedHat oder SUSE geschaut haben, werden Sie sehen, was ich meine. ;)

Warum sollten Sie sich überhaupt den Ärger antun und immer die allerneueste GS-version installieren? Die Anwort fällt leicht.

1. GS 8.x enthält erhebliche Verbesserungen im Umgang mit EPS- und PDF-Dateien, die von Scribus und anderen DTP-Programmen genutzt werden können. In manchen Fällen hat dies einen direkten Einfluß auf die Importqualität von EPS- und PS-Dateien in Scribus.
2. Sie können Ghostscript mit voller Compileroptimierung kompilieren und damit die Druck- und Separationsvorschau in Scribus beschleunigen. Viele Distributoren kompilieren es nur mit i386-Optionen, was für ältere Computer wahrscheinlich sinnvoller ist als für neue. Bei bildverarbeitenden Programmen können Compileroptimierungen wirklich etwas ausmachen.
3. Wenn Sie das jeweils aktuelle GS installiert haben, sind GSview (und Scribus) besser und verläßlicher beim Umgang mit EPS-Dateien und einer speziellen EPS-Variante namens DCS 2.0.
4. Sowohl Scribus als auch GSview bieten die Möglichkeit, in den Voreinstellungen einen anderen Speicherort für GS und die GS-Bibliotheken einzutragen.

Wie bekommt man also die neueste Ghostscript-Version, ohne die bestehenden Druckfunktionen einer Distribution zu beschädigen? Das Geheimnis ist eine Parallelinstallation.

Haftungsausschluß: Es funktioniert bei mir. Es könnte Ihr System beschädigen, Ihre Haare in Brand setzen oder andere unschöne Dinge tun.

Erste Schritte:

- Laden Sie sich die neueste Ghostscript-Version hier herunter.
- Sie können die make-Dateien auf die altmodische Weise anpassen oder:
- Verwenden Sie das configure-Script mit den folgenden Optionen (und optional auch mit `-with-jasper` and `-with-rinkj` in den aktuellen Versionen):

>     ./configure --enable-compile-inits -with-x

Standardmäßig werden die Dateien mit '`make install`' in '`/usr/local/bin`', '`/usr/local/lib`' usw. installiert. etc. Sie können einen anderen Ort im Dateisystem mit Hilfe von `--prefix`' angeben, zum Beispiel:

>     --prefix=$HOME

Mit dieser Einstellung bleiben die beiden Versionen säuberlich getrennt.

Nächste Schritte:

In einem zweiten Schritt muß Ghostscript als dynamische Bibliothek kompiliert werden, die von GSview benötigt wird:

>     make so

und als root:

>     make soinstall

Lassen Sie uns die Sache kurz überprüfen:

>     /usr/local/bin/gs -h

Sie sollten nun etwas angezeigt bekommen, was in etwa wie folgt aussieht:

>     GPL Ghostscript 8.60 (2007-08-01)
>     Copyright (C) 2007 Artifex Software, Inc.  All rights reserved.
>     christoph@dhcppc2:~> ge -h
>     bash: ge: command not found
>     christoph@dhcppc2:~> gs -h
>     GPL Ghostscript 8.60 (2007-08-01)
>     Copyright (C) 2007 Artifex Software, Inc.  All rights reserved.
>     Usage: gs [switches] [file1.ps file2.ps ...]
>     Most frequently used switches: (you can use # in place of =)
>      -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
>      -gx  page size in pixels   | -r  pixels/inch resolution
>      -sDEVICE=  select device         | -dBATCH  exit after last file
>      -sOutputFile= select output file: - for stdout, |command for pipe,
>                                              embed %d or %ld for page #
>     Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
>     Default output device: bbox
>     Available devices:
>        alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 appledmp
>        atx23 atx24 atx38 bbox bit bitcmyk bitrgb bitrgbtags bj10e bj10v bj10vh
>        bj200 bjc600 bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m
>        bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500
>        cdj550 cdj670 cdj850 cdj880 cdj890 cdj970 cdjcolor cdjmono cfax cgm24
>        cgm8 cgmmono chp2200 cif cljet5 cljet5c cljet5pr coslw2p coslwxl cp50
>        cups declj250 deskjet devicen dfaxhigh dfaxlow dj505j djet500 djet500c
>        dl2100 dnj650c epl2050 epl2050p epl2120 epl2500 epl2750 epl5800 epl5900
>        epl6100 epl6200 eps9high eps9mid epson epsonc epswrite escp escpage faxg3
>        faxg32d faxg4 fmlbp fmpr fs600 gdi hl1240 hl1250 hl7x0 hpdj1120c hpdj310
>        hpdj320 hpdj340 hpdj400 hpdj500 hpdj500c hpdj510 hpdj520 hpdj540 hpdj550c
>        hpdj560c hpdj600 hpdj660c hpdj670c hpdj680c hpdj690c hpdj850c hpdj855c
>        hpdj870c hpdj890c hpdjplus hpdjportable ibmpro ijs imagen imdi inferno
>        iwhi iwlo iwlq jetp3852 jj100 jpeg jpegcmyk jpeggray la50 la70 la75
>        la75plus laserjet lbp310 lbp320 lbp8 lex2050 lex3200 lex5700 lex7000
>        lips2p lips3 lips4 lips4v lj250 lj3100sw lj4dith lj4dithp lj5gray lj5mono
>        ljet2p ljet3 ljet3d ljet4 ljet4d ljet4pjl ljetplus ln03 lp1800 lp1900
>        lp2000 lp2200 lp2400 lp2500 lp2563 lp3000c lp7500 lp7700 lp7900 lp8000
>        lp8000c lp8100 lp8200c lp8300c lp8300f lp8400f lp8500c lp8600 lp8600f
>        lp8700 lp8800c lp8900 lp9000b lp9000c lp9100 lp9200b lp9200c lp9300
>        lp9400 lp9500c lp9600 lp9600s lp9800c lps4500 lps6500 lq850 lx5000
>        lxm3200 lxm5700m m8510 mag16 mag256 md1xMono md2k md50Eco md50Mono md5k
>        mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24 mj500c mj6000c
>        mj700v2c mj8000c ml600 necp6 npdl nullpage oce9050 oki182 oki4w okiibm
>        omni oprp opvp paintjet pam pbm pbmraw pcl3 pcx16 pcx24b pcx256 pcx2up
>        pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw photoex picty180
>        pj pjetxl pjxl pjxl300 pkm pkmraw pksm pksmraw plan9bm png16 png16m
>        png256 png48 pngalpha pnggray pngmono pnm pnmraw ppm ppmraw pr1000
>        pr1000_4 pr150 pr201 ps2write psdcmyk psdrgb psgray psmono psrgb pswrite
>        pxlcolor pxlmono r4081 rpdl samsunggdi sgirgb sj48 spotcmyk st800 stcolor
>        sunhmono t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiff32nc
>        tiffcrle tiffg3 tiffg32d tiffg4 tiffgray tifflzw tiffpack tiffsep
>        uniprint wtscmyk wtsimdi x11 x11alpha x11cmyk x11cmyk2 x11cmyk4 x11cmyk8
>        x11gray2 x11gray4 x11mono x11rg16x x11rg32x xcf xes
>     Search path:
>        . : /home/$IhrBenutzername/.fonts : %rom%lib/ :
>        /usr/local/share/ghostscript/8.60/lib :
>        /usr/local/share/ghostscript/8.60/Resource :
>        /usr/local/share/ghostscript/fonts :
>        /usr/local/share/fonts/default/ghostscript :
>        /usr/local/share/fonts/default/Type1 :
>        /usr/local/share/fonts/default/TrueType : /usr/lib/DPS/outline/base :
>        /usr/openwin/lib/X11/fonts/Type1 : /usr/openwin/lib/X11/fonts/TrueType
>     Initialization files are compiled into the executable.
>     For more information, see /usr/local/share/ghostscript/8.60/doc/Use.htm.
>     Please report bugs to bugs.ghostscript.com.

Das Entscheidende ist hier:

1. Sie sehen die richtige Ghostscript-Version. Andernfalls müssen Sie die `$PATH`-Einstellungen anpassen.
2. Sie sehen `pngalpha`-0 und `x11`-Geräte zusammen mit `bitcmyk` für die CMYK-Vorschau und `png16m` aufgelistet.
3. Es gibt einen sinnvollen Suchpfad für Fonts, so daß GS Ihre Schriften finden kann. Sie werden Fehlermeldungen erhalten, wenn Sie EPS-Dateien importieren möchten oder die Druckvorschau verwenden wollen und dieser Pfad nicht korrekt eingestellt ist, was zur Folge hat, daß GS keine Schriften finden kann. GS ermittelt den Pfad mittels einer Fontmap genannten Datei. Wie er eingestellt wird, ist in der GS-Dokumentation erklärt.

Falls Sie fürchten, Ihr bestehendes System zu beschädigen, können Sie `checkinstall` oder `Xstow` verwenden. Diese Programme protokollieren Programminstallationen außerhalb des normalen Paketsystems. Ich habe checkinstall unter Red Hat erfolgreich in solchen Situationen verwendet.

Als nächstes öffnen Sie GSview, und öffnen Sie den Dialog Optionen > Konfiguriere Ghostscript. Stellen Sie sicher, daß "Ghostscript Shared Object" den Pfad zur korrekten libgs.so anzeigt. In der Abbildung sehen Sie, wie GSview auf meinem System konfiguriert ist:

Als nächstes müssen wir Scribus mitteilen, wo es das neue GS findet. Öffnen Sie Datei > Allgemeine Einstellungen >Externe Tools. Unter "Postscript Interpreter" tragen Sie dann den Pfad zum neuen GS ein.

Ein anderes Werkzeug, das zusammen mit GSview erhältlich ist, ist `epstool`. Eine ältere Version wird zusammen mit dem aktuellen GSview 4.6 ausgeliefert, aber eine neuere Version ist auf der GSview Homepage erhältlich. Es handelt sich dabei um ein großartiges Werkzeug für die Kommandozeile, mit dem sich erweiterte EPS- bzw. DCS-2.0-Konvertierungen durchführen lassen. Es erweist sich als nützlich, wenn Ihnen jemand eine EPS-Datei zusendet, die von einer anderen DTP-Anwendung, selbst wenn diese unter Mac OS lief, erzeugt wurde. Wenn Sie dieses Programm für GSview aktualisieren, können Sie unter Linux hervorragend mit EPS-Dateien umgehen, die auf anderen Plattformen erzeugt wurden. Empfehlenswert.

Zum Schluß ein anderes Werkzeug, das als Plug-in in GSview verwendet wird, nämlich `pstoedit`. Es handelt sich dabei um ein Kommandozeilenwerkzeug, mit dem Bitmap-Dateien in Vektorgrafiken und Postscript-Dateien umgewandelt werden können, die sich wiederum, je nach der Art des Bildes, in einem Vektorgrafikprogramm wie Inkscape oder Skencil bearbeiten lassen. In den Importhinweisen finden Sie eine Anleitung, in der ich beschreibe, wie ich es verwendet habe, um das Scribus-Logo erst nach SVG und dann in eine native Scribus-Datei umzuwandeln. GSview verwendet es als Plug-in, um Dateien in Vektorgrafiken umzuwandeln.

GSview ist meiner Erfahrung nach der beste EPS-Betrachter unter Linux. Wie gut ist es? Nun, das beste Beispiel ist Ihnen zu sagen, daß ich es auf jedem Windows-DTP-Arbeitsplatz installiert habe, den ich für Kunden betreue. Für DTP mit Scribus halte ich es für unverzichtbar.