[an error occurred while processing this directive]  
Uni ZH
Informatikdienste
PostScript-Corner
Einführung (pdf)
Abfrage Operatoren (cgi)
einfache Beispiele

PSHEAD

1. Typische Fehlersituationen
2. Wichtige PostScript- Fehlermeldungen

PostScript-Fehlermeldungen

Typical PostScript errors (in German).

1. Typische Fehlersituationen

Die Beratungserfahrung zeigt, dass folgende Fehlersituationen häufig vorkommen:
Es passiert gar nichts!
Mit dem %-Zeichen wird ein PostScript-Kommentar eingeleitet. Alle Zeichen bis zum Zeilenende werden dann vom PostScript-Interpreter als Kommentar angesehen und nicht mehr beachtet. Beispiel: "%!PS-Adobe-..." Falls die Code-Zeilen nicht mit Newline (\n) und/oder Return (\r) abgeschlossen sind, führt dies dazu, dass das gesamte PostScript-Programm als ein riesiger Kommentar interpretiert wird! Was tun, wenn der Drucker weder Fehlermeldung noch Ausdruck liefert? Neben dem riesigen Kommentar gibt es noch eine andere Ursache: der fehlende showpage-Operator. Fügen Sie diesen Befehl notfalls an!
Der Drucker spuckt lediglich ein weisses Blatt aus.
Häufig liegt der Fehler darin, dass eine Grafik ausserhalb des Druckbereichs liegt, z.B. im negativen Bereich, sodass der Drucker lediglich ein weisses Blatt ausspuckt. In diesem Fall können Sie versuchen, die Abbildung mittels translate wieder in den Druckbereich zu verschieben ("x y translate" vor der Seitenbeschreibung einfügen).
Fehlende Fonts:
Denken Sie daran, dass die aufgerufenen PostScript-Fonts entweder auf Ihrem Drucker installiert sein oder aber auf diesen zugeladen werden müssen. Die Erfahrung zeigt, dass fehlende Fonts zum Stolperstein werden können; eine bekannte Fehlermeldung lautet "Font not found, using Courier".
Eine importierte Abbildung führt zu einer Fehlermeldung.
Beim Importieren eines EPS-Files ist zu beachten, dass ein EPS-File neben dem PostScript-Programm manchmal eine Bildschirmdarstellung enthält. Das Problem dabei ist, dass die Bildschirmdarstellung plattformabhängig ist. Es ist daher nicht möglich, auf einer Unix-Workstation eine Bildschirmdarstellung zu importieren, die auf einem Macintosh oder unter MS-Windows erzeugt wurde. Schneiden Sie die Bildschirmdarstellung aus dem EPS-File heraus!
GOTO PostScript-to-EPS.
Die Umlaute werden nicht richtig dargestellt.
Um die Umlaute richtig drucken zu können, muss der PostScript-Prolog einen sogenannten Encoding-Vektor definieren, der den Symbolen numerische Codes zuordnet. Leider ist diese Zuordnung von der Plattform abhängig, z.B. ISO Latin-1 auf vielen Unix-Systemen, aber Codepage IBM-850 unter AIX. Achten Sie daher darauf, auf welcher Plattform ein PostScript-Programm erzeugt wurde!
"Operator undefined"
Einige End-User wissen nicht, welche Drucker mit PostScript Level 2 bzw. Level 1 bestückt sind. Fehlermeldungen wegen selectfont, rectfill, xyshow, makepattern, execform, colorimage, etc. deuten darauf hin, dass ein Gerät nicht in der Lage ist, PostScript Level 2 zu verarbeiten. Es gibt zwei Möglichkeiten: suchen Sie einen Level-2-Drucker oder emulieren Sie die neuen Operatoren mittels Level-1-Befehle. Die Sequenz moveto-rlineto-rlineto-rlineto-closepath wird in PostScript Level 1 sehr häufig verwendet, um den neuen Operator rectstroke zu emulieren.
Für die Undefined-Situation gibt es aber noch eine andere Ursache: Applikationen wie MS Word oder Adobe Illustrator verwenden einen eigenen Prolog, der "PostScript-Makros" vordefiniert. Ueberprüfen Sie, ob dieser Prolog im PostScript-File vorhanden ist!
limitcheck:
Diese Meldung bedeutet, dass eine Implementations-abhängige Beschränkung überschritten wurde. Ursache kann etwa ein sehr langer Polygon-Zug sein, der aus Hunderten von lineto's besteht. Geographen, die Grenzverläufe zeichnen möchten, können ein Lied davon singen. Abhilfe: Fügen Sie z.B. nach 100 lineto's jeweils ein stroke ein.

Daneben gibt es noch Design-Fehler in den PostScript-Treibern, die sich etwa dadurch äussern, dass der Ausdruck von einzelnen Seiten scheitert. Diese Druckfiles enthalten in einer Seitenbeschreibung Font- oder Prozedur-Definitionen, welche auf anderen Seiten benötigt werden. Falls nun einzelne Seiten ausserhalb der Reihenfolge belichtet werden, sind solche Font- oder Prozedur-Definitionen unbestimmt (undefined). Es wäre einfach, die fraglichen Fonts oder Definitionen in den Prolog zu verschieben, um diese Fehlersituation zu beheben. Voraussetzung ist allerdings, dass man die Struktur des PostScript-Programms kennt.

Aehnlich verheerend ist es, wenn gewisse PostScript-Treiber (Windows) das Erzeugen von mehrseitigen EPS-Files unterstützen. Denn EPS-Files beschreiben einzelne Logos, Grafiken und Illustrationen und dienen dazu, von anderen Dokumenten eingebettet zu werden. Aber wie auf einer bestimmten Seite eine mehrseitige Illustration einbetten?

2. Wichtige PostScript-Fehlermeldungen

Folgende Fehlermeldungen kommen häufig vor:
dictfull
Dictionary ist voll
dictstackoverflow
zu viele begins
dictstackundeflow
zu viele ends
invalidaccess
ein Zugriffsrecht verletzt (e.g. attempted to write a read-only object)
invalidfont
falscher Font-Name oder Dictionary
ioerror
Fehler während Datenübertragung
limitcheck
eine Implementations-abhängige Beschränkung wurde überschritten
nocurrentpoint
die aktuelle Position ist noch nicht definiert
rangecheck
Operand ist zu gross oder zu klein
stackoverflow
Stack ist voll vor dem letzten push
stackundeflow
Versuch eines pop bei einem leeren Stack
syntaxerror
PostScript-Syntax verletzt
typecheck
Operand hat den falschen Typ
undefined
Name ist in keinem Dictionary auf dem Stack definiert
VMerror
Virtual Memory ist voll
configurationerror
setpagedevice (Level 2) kann nicht befriedigt werden

GOTO PostScript-Operatoren.


Uni ZH | Informatikdienste | PostScript
Last update: Monday, 29-Apr-2002 10:15:05 CEST by vo