3. Workshop: AFPL Ghostscript 6.50 - Teil 2 (von Uwe Pannecke)

Crash-Kurs durch die Ghostscript-Untiefen


1. Der Zug der (Amiga-) Zeit

Obwohl am Ende des ersten Teils in der Februarausgabe 2002 bereits für das 
nachfolgende März-Magazin dieses Jahres angekündigt, ließ die 
Fertigstellung der Fortsetzung doch noch einige Monate auf sich warten. 
Damit reiht sich dieser Workshop in das allgemeine Gebaren rund um den 
Amiga nahtlos ein und gehört dennoch trotz seiner dreimonatigen Verspätung 
zu den blitzschnellen Veröffentlichungen auf dem Amiga-Markt... Damit genug 
der Rechtfertigungsversuche. 
Tauchen wir lieber ein in die kryptische, aber dennoch interessante 
Ghostscript-Welt. Wie bereits im ersten Teil, muss auch für alle 
nachfolgenden Ausführungen als Versuchskaninchen wieder das Amiga-Release 2 
des Interpreters von Rüdiger Hanke [1] herhalten. Wir gehen deshalb davon 
aus, Ghostscript entsprechend des ersten Teiles installiert in eurem Amiga-
System vorzufinden.


2. Jammertal

So leistungsfähig der freie Postscript-Interpreter auch ist, so spröde 
zeigt er sich in der Bedienung. Keine grafische Oberfläche verwöhnt den 
Amiganer, Ghostscript besteht auf Tuchfühlung, beinahe hautengen Kontakt 
über die Kommandozeile. Auch wenn dem Maus-Fetischisten bei dieser Aussicht 
die Haare zu Berge stehen sollten, kann so doch die Shell wieder einmal 
ihre Daseinsberechtigung unter Beweis stellen. Und dem Amiganer bietet sich 
eine gute Gelegenheit, mit dem Traktieren der Tastatur zumindest kurzzeitig 
Ablenkung finden und seinen Geist über das Jammertal der aktuellen Amiga-
Situation erheben zu können.


3. Geborgen in der Muschel

Auch wenn wir den gesamten zweiten Teil des Workshops in der Shell 
verbringen, lässt sich mit dem dargelegten am Ende des Kurses (vielleicht 
noch in diesem Jahr ;) ) recht einfach eine mausgesteuerte Bedienung des 
Interpreters selbst zusammenbasteln.
Doch jetzt ab in die schützende Hülle der Shell:


3.1 Geisterbeschwörung

Mit "CD Ghostscript:" landen wir umgehend im Heimatverzeichnis des 
Postscript-Interpreters. Bevor wir den dienstbaren Geist aus seiner Flasche 
entlassen, müssen wir ihm ausreichend Bewegungsfreiheit verschaffen. Die 
Kommandofolge "Stack 200000" setzt den Stapelspeicher auf die erforderliche 
Höhe und beugt unvermittelten Abstürzen des Programms vor. Wir bitten 
Ghostscript mit "gs --help", sich uns vorzustellen. 

Screenshot:
Screenshot

Neben seinem Namen, der Version und seinen Schöpfern verrät uns der 
Interpreter einiges über seine Bedienung, indem er uns die prinzipiellen 
Aufrufoptionen mitteilt. Anschließend kann er es sich nicht verkneifen, mit 
seinen erstaunlichen Fähigkeiten zu protzen, und teilt uns unter "Available 
devices" die ihm zur Verfügung stehenden 'Geräte' oder Treiber für die 
Manipulation der Postscript- oder PDF-Dateien mit.

Eine wichtige Information steckt im unteren Drittel der Fensterausgabe: Mit 
den Angaben hinter "Search path" informiert uns das Programm, wo es nach 
Initialisierungsdateien und Schriften für die Interpretation der 
übergebenen Dateien suchen wird. In der Standard-Installation wird 
Ghostscript die passenden Daten in den Verzeichnissen "Ghostscript:lib"
und "Ghostscript:fonts" finden. Solltet ihr zusätzliche Schriften oder 
spezielle Initialisierungsdateien in separaten Verzeichnissen abgelegt 
haben (oder später einmal ablegen), könnt ihr mit "SetEnv GS_LIB 
Pfadangabe(n)" diese dem Interpreter bekannt machen.


3.2 Dokumentenschau

Eine zentrale Aufgabe Ghostscripts ist die Präsentation von Postscript- und 
PDF-Dateien. Wollt ihr als Ausgabegerät den Workbench-Bildschirm nutzen, 
reicht es völlig aus, dem Programm lediglich den Dateinamen einschließlich 
komplettem Pfad zu übergeben. Im "Examples"-Verzeichnis finden wir eine 
Reihe gut geeigneter Dateien für unsere Tests. 
Die Eingabe "gs examples/tiger.ps" präsentiert nach kurzer Zeit den 
wohlbekannten Tigerkopf in einem Workbench-Fenster. 

Wird wie im gerade angeführten Fall kein Device explizit an Ghostscript 
übermittelt, verwendet das Programm das "amiga"-Gerät und damit die 
Workbench als Ausgabemedium. Das gleiche Ergebnis hätte die Eingabe 
"gs sDEVICE=amiga examples/tiger.ps" verursacht. Und mit letzterem wird 
auch der Weg aufgezeigt, alle weiteren unterstützen Ausgabegeräte 
einzubinden. So sorgt etwa "gs sDEVICE=amiga_custom examples/tiger.ps" für 
die Nutzung eines eigenen Bildschirms, der über einen Bildschirm-Requester 
aus der vorhandenen Palette ausgewählt werden kann.

Screenshot:
Screenshot

Wollt ihr bei der Bildschirmausgabe die Größe des Fensters definieren, 
stehen euch die Optionen "-dDEVICEWIDTH=Wert1" für die Bildschirmbreite und 
"-dDEVICEHEIGHT=Wert2" für die Bildschirmhöhe zur Verfügung. Alternativ 
kann der Schreibfaule auch "-gWert1xWert2" verwenden. Mit "gs sDEVICE=amiga 
-dDEVICEHEIGHT=640 -dDEVICEWIDTH=480 examples/tiger.ps" etwa ist die 
maximale Fenstergröße auf der Workbench mit 640x480 Pixel festgelegt.
Da die Seitengröße im Dokument nicht automatisch an die Fenstergröße 
angepasst wird, ist bei Beschränkung der Fenstergröße in vielen Fällen nur 
noch ein Teil des Seiteninhalts zu sehen. Dem könnt ihr in diesem und 
ähnlich gelagerten Fällen mit einer Vorgabe zur darzustellenden Auflösung 
begegnen. Die Option "-dDEVICEXRESOLUTION=WertX" legt die horizontale 
Geräteauflösung und "-dDEVICEYRESOLUTION=WertY" entsprechend die vertikale 
Auflösung fest. Wieder haben Schreibfaule Glück: Die Optionen lassen sich 
mit "-rWertXxWertY" deutlich abgekürzt gleichberechtigt verwenden. 
Wird lediglich mit einem Wert die Auflösung bestimmt, bleiben auf jeden 
Fall die Proportionen der ursprünglichen Seite erhalten. 

Screenshot:
Screenshot

Mit entsprechend gewählten Werten könnt ihr natürlich auch die 
Seitenproportionen nach euren Wünschen beinahe beliebig verzerren. Dies 
gilt gleichermaßen für die Druckausgabe.
Apropos Druckausgabe: Wer die Datei lieber Schwarz auf Weiß oder gar farbig 
in den Händen halten möchte, kann aus einer ganzen Reihe von Druckgeräten 
auswählen. Da wäre zuallererst das Device "amiga_printer" zu nennen, das 
für eine Ausgabe über den eingestellten Workbench-Druckertreiber zuständig 
ist. Darüber hinaus stehen diverse Laser- und Deskjet-Treiber als 
dienstbare Gerätetreiber parat. Und alle Turboprint-Freunde werden sich 
über einen eigens für das Druckprogramm mitgelieferten Treiber 
einschließlich Dokumentation freuen.


4. Eine endlose Geschichte

Im nächsten Teil, diesmal tatsächlich auch in der nächsten AMIGA-aktuell-
Ausgabe, wenden wir uns u.a. den Konvertierungsmöglichkeiten des 
Interpreters zu.

[1] im Aminet unter /gfx/conv/GS650-xxx.lha

Uwe Pannecke <Uwe.Pannecke@t-online.de>