- Postscript
-
PostScript ist eine Seitenbeschreibungssprache, die unter diesem Namen seit 1984 vom Unternehmen Adobe entwickelt wird. Sie ist eine Weiterentwicklung von InterPress und stellt eine Turing-vollständige stackorientierte Programmiersprache dar.
Inhaltsverzeichnis
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 das 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 Druckaufträ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.
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.
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.PostScript Level
Der Funktionsumfang von PostScript wurde zweimal erweitert. Die Erweiterungen sind bis auf eine Ausnahme abwärtskompatibel.
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.
PostScript 3
Diese Version wurde 1997 veröffentlicht. Adobe entfernte den Namensbestandteil „Level“ zu Gunsten eines einfacheren Namens. Eine wichtige Erweiterung ist ein neues Farbmodell DeviceN, welches möglichst präzise Farben auf allen Ausgabegeräten garantieren soll. Das DeviceN-Modell unterstützt die Abbildung von Hexachrome- oder Duplex-Färbungen, was bislang nur durch bereits in einzelne Farbauszüge ausseparierte Seiten umgesetzt werden konnte.
Display Postscript
Das Betriebssystem NextStep verwendete PostScript als sog. Display Postscript auch für die Bildschirmdarstellung.
Das in Mac OS X verwendete Grafiksystem Quartz, das man als Nachfolger von Display Postscript verstehen kann, verwendet ein Grafikmodell, das sich an PDF anlehnt und eine Teilmenge von PDF 1.2 implementiert. Programme, die Quartz für ihre Grafikausgaben 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]
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. Dadurch 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 Verwendung der Fonts nicht erforderlich, aber üblicherweise im Font-Paket enthalten sind zwei Textdateien im INF- und AFM-Format. Die INF-Datei enthält allgemeine Informationen zur Kodierung und den Dimensionen der Schriftzeichen, während die AFM-Datei (Adobe Font Metric) dieselben Informationen wie die PFM-Datei enthält, aber aufgrund des ASCII-Formats vom Verwender leichter veränderbar ist.
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.
Versionsgeschichte
- PostScript Level 1: 1984
- Display PostScript: 1988
- PostScript Level 2: 1991
- PostScript 3: 1998
Einzelnachweise
- ↑ Thomas Merz; Olaf Drümmer: Die Postscript- & PDF-Bibel. 2002, S. 18
Siehe auch
- Document Structuring Conventions (DSC)
- Encapsulated PostScript (EPS)
- Ghostscript (Interpreter für PostScript- und PDF-Dateien)
- Portable Document Format (PDF)
- Raster Image Processor (RIP)
- Variable Print Specification (VPS) (Weiterentwicklung zu PostScript)
Literatur
- Adobe Systems, Inc. (Hrsg.): PostScript language tutorial and cookbook. (The blue Book), Addison Wesley, Reading, Massachusetts 1985, ISBN 0-201-10179-3 (kostenloser PDF-Download)
- Adobe Systems, Inc. (Hrsg.): PostScript language reference. Addison Wesley, Boston 1999, ISBN 0-201-37922-8 (kostenloser PDF-Download)
- Susanne Dotzauer: PostScript. (Schnellübersicht PC), Markt und Technik, Haar 1991, ISBN 3-89090-995-7
- Tobias Weltner: Das große Buch zu Post-Script. Data-Becker, Düsseldorf 1991 (mit Beispielprogrammen auf Diskette), ISBN 3-89011-379-6
- Ingo Klöckl: PostScript. Einstieg – Workshop – Referenz. (Hanser-Programmier-Praxis; mit CD-ROM, enthält umfangreiches Toolkit, vorkonfiguriert für 11 Systeme), Hanser, München u. Wien 1995, ISBN 3-446-18381-7
- Thomas Merz; Olaf Drümmer: Die PostScript- & PDF-Bibel. PDFlib GmbH, München 2002, ISBN 3-935320-01-9 (kostenloser PDF-Download)
Weblinks
- PostScript Referenzhandbücher von Adobe (englisch)
- Umfangreiche Linksammlung zu allen wichtigen PostScript-Ressourcen im Internet (englisch)
- Peter Vollenweider: Einführung in PostScript und PostScript für Workstations (Einführung zu Display PostScript)
- Frank Richter, Jens Pönisch: Die Drucksprache PostScript (Vortragsskripte)
Interessante Beispiele von PostScript-Programmierung:
- HTML-Renderer und Strichcode Generator von Terry Burton.
- Conways Spiel des Lebens (vgl. auch den Wikipedia-Artikel Conways Spiel des Lebens)
Wikimedia Foundation.