Registrieren Passwort vergessen?

PostScript

22. Aug 2008, 12:04

PostScript ist eine Seitenbeschreibungssprache, die unter diesem Namen seit 1984 von der Firma Adobe entwickelt wird. Sie ist eine Weiterentwicklung von InterPress und stellt eine Turing-vollständige stackorientierte Programmiersprache dar.

Inhaltsverzeichnis

[Bearbeiten] Verbreitung

PostScript hat sich über die Jahre zu einem Standard in der Druckindustrie entwickelt, wird aber teilweise vom Portable Document Format (PDF) verdrängt, das ebenfalls von Adobe entwickelt wurde. PDF baut auf PostScript auf, verwendet jedoch nur einen eingeschränkten Befehlssatz, es fehlen insbesondere die Strukturen einer Programmiersprache. PostScript-Dateien können nahezu ohne Verlust grafischer Informationen in PDF-Dateien umgewandelt werden. Umgekehrt geht dies nur eingeschränkt, da PDF-Erweiterungen wie Transparenzeffekte, Formulare, Tagged-PDF, 3D-Annotationen oder Shockwave nicht mit PostScript dargestellt werden können.

Desktop-Publishing-Programme verfügen in der Regel über eine PostScript-Exportfunktion. Praktisch kann aber aus jeder Anwendung (zum Beispiel aus beliebigen Textverarbeitungsprogrammen) mit Hilfe eines PostScript-Druckertreibers PostScript-Code erzeugt werden, der entweder direkt an ein postscriptfähiges Ausgabegerät gesendet oder in eine Datei geschrieben werden kann. Einzelne Seiten bzw. Grafiken im PostScript-Format können von Desktop Publishing-Programmen und einigen anderen Anwendungen in der Form von Encapsulated-PostScript-Dateien auch importiert werden.

In unixähnlichen Betriebssystemen ist es üblich, dass Anwendungsprogramme Druckauftäge in PostScript an den Druckerserver oder das lokale Drucksystem senden. Dieses rechnet die PostScript-Daten, meist mit Hilfe von Ghostscript, in gerätespezifischen Code um.

[Bearbeiten] Funktionsweise

Grafiken und Druckseiten werden als Dateien im PostScript-Format angelegt, um sie auf den unterschiedlichsten Ausgabegeräten in beliebiger Größe und Auflösung verlustfrei ausgeben zu können. Dazu werden grafische Elemente und Schriften als skalierbare Vektorgrafik beschrieben. Rastergrafiken können ebenfalls eingebettet werden; sie werden je nach Auflösung des Ausgabegeräts neu skaliert.

PostScript ist eine vollständige Programmiersprache, die auf Forth basiert. Sie ist stapelorientiert und funktioniert nach dem Prinzip der umgekehrten polnischen Notation. Postscriptfähige Ausgabegeräte (insbesondere Drucker und Druckmaschinen) sind mit einem PostScript-Interpreter ausgestattet, der das PostScript-Programm Stück für Stück interpretiert und in eine Rastergrafik umsetzt. Durch diese sequenzielle Befehlsausführung hat man in PostScript-Dateien keinen direkten Zugriff auf einzelne Seiten. Man unterscheidet Hard- und Software-Interpreter. Eine freie Software-Implementierung eines solchen Interpreters bietet die Software Ghostscript.

[Bearbeiten] Ein Programmbeispiel

Ein Programmbeispiel ist:

%!
/Courier findfont    % Schrift auswählen
20 scalefont         % auf Schriftgröße 20 skalieren
setfont              % zum aktuellen Zeichensatz machen
50 50 moveto         % (50, 50) als aktuelle Schreibposition setzen
(Hallo Welt!) show   % und dort den Text ausgeben
showpage             % Seite ausgeben

Das Programm schreibt „Hallo Welt!“ an die Position 50,50.
Falls das Koordinatensystem nicht verändert wurde, beginnt es links unten.

[Bearbeiten] PostScript Level

Der Funktionsumfang von PostScript wurde zweimal erweitert. Die Erweiterungen sind bis auf eine Ausnahme abwärtskompatibel.

[Bearbeiten] Level 2

Postscript Level 2 ist eine vollständig abwärtskompatible Erweiterung der PostScript-Spezifikation, die schneller und zuverlässiger arbeitet als Level 1. Hinzugefügt wurde beispielsweise die Unterstützung von eingebetteten JPEG-Bilddaten. Einige zusätzliche Funktionen wurden im Hinblick auf die interaktive Verwendung mit Display PostScript eingeführt, speziell das sogenannte „Insideness Testing“, mit dem geprüft werden kann, ob beispielsweise ein Punkt („Mausklick“) innerhalb eines Pfades liegt.

[Bearbeiten] PostScript 3

Diese Version kam 1997 heraus. Adobe entfernte den Namensbestandteil „Level“ zu Gunsten eines einfacheren Namens. Schwerpunkt der Erweiterung ist ein neues Farbmodell DeviceN, welches möglichst präzise Farben auf allen Ausgabegeräten garantieren soll. Weiterhin bietet es Hexachrome- und Duplex-Unterstützung für die In-RIP-Separation. PostScript 3 führte auch Transparenzen ein, jedoch werden erst ab Version 3015 die PDF-1.4-Transparenzen und ab Version 3016 die PDF-1.5-Transparenzen korrekt verarbeitet. Level 3 ist zu Level 1 und 2 mit Ausnahme des copypage-Operators abwärtskompatibel.

[Bearbeiten] Display Postscript

Das Betriebssystem NextStep verwendete PostScript als sog. Display Postscript auch für die Bildschirmdarstellung.

Das in Mac OS X verwendete Graphiksystem Quarz, das man als Nachfolger von Display Postscript verstehen kann, verwendet ein Graphikmodell, das sich an PDF anlehnt und eine Teilmenge von PDF 1.2 implementiert. Programme, die Quartz für ihre Graphikausgaben verwenden, können so ganz leicht PDF-Dateien erzeugen. Die Transparenzfunktion von PDF wird von Quartz nicht direkt unterstützt, Mac OS X behandelt transparente Objekte auf andere Weise.

PDF-Features wie Hypertext und Formulare werden in Programmen, die Quartz verwenden, außerdem anders realisiert als im PDF-Standard, so dass nicht von einer vollständigen Kompatibilität zu PDF gesprochen werden kann.[1]

[Bearbeiten] Schriften (Fonts)

Die unter PostScript benutzten Schriften unterscheiden sich vom insbesondere auf Windows-Plattformen gängigen TrueType-Format. Der auffälligste Unterschied liegt in der Beschreibung von Kurven: Während TrueType Bézierkurven zweiter Ordnung verwendet, kommen bei PostScript-Schriften Bézierkurven dritter Ordnung zum Einsatz. Hierdurch ist die Qualität von PostScript-Schriften im allgemeinen höher als die von TrueType-Schriften. (Beispielsweise ist es mit Bézierkurven zweiter Ordnung nicht möglich, einen exakten Kreis zu beschreiben.)

Ein PostScript-Font besteht aus zwei Dateien. Die PFM-Datei enthält Informationen für die Unterschneidung der einzelnen Buchstabenpaare. Die PFB-Datei enthält Informationen über die Schrift selbst.

Zur Beschreibung der einzelnen Glyphen einer PostScript-Schrift können im Prinzip beliebige PostScript-Operationen verwendet werden (in sogenannten Type 3 Fonts). Um PostScript-Schriften auch auf Plattformen verarbeiten zu können, die über keinen Interpreter verfügen, hat Adobe eine „abgespeckte“ Variante der Type 3 Fonts mit standardisiertem Sprachumfang entwickelt, die sogenannten Type 1 Fonts, die eine größere Verbreitung gefunden haben als Type 3 Fonts. Innerhalb dieser können auch Hints benutzt werden, die die Glyphen-Darstellung auf Geräten mit niedriger Auflösung deutlich verbessern.

[Bearbeiten] Versionsgeschichte

  • PostScript Level 1: 1984
  • Display PostScript: 1988
  • PostScript Level 2: 1991
  • PostScript 3: 1998

[Bearbeiten] Siehe auch

[Bearbeiten] Einzelnachweise

  1. Thomas Merz, Olaf Drümmer, Die Postscript- & PDF-Bible, 2. Auflage, Seite 18

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

[Bearbeiten] Interessante Beispiele von PostScript-Programmierung

Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.