Suche…


Bemerkungen

PostScript ist eine Reverse-Polish-Stack-basierte, dynamisch typisierte, dynamische Namensraum-Skriptsprache mit integrierten Grundelementen zum Generieren gerenderter Bilder aus Vektorbeschreibungen. PostScript verwendet dasselbe "Adobe Image Model" wie das PDF-Dateiformat.

PostScript wird von vielen Programmen als Ausgabeformat verwendet, da es einfach maschinell erstellt werden kann.

Wie LISP ist PostScript homoikonisch, und Code und Daten haben dieselbe Darstellung. Prozeduren können Prozeduren als Daten und Ergebnisprozeduren als Ergebnisse verwenden, was sich auch für Techniken der konkatenativen Programmierung eignet.

Installation oder Setup

Die authentischen Adobe PostScript-Interpreter sind in High-End-Druckern, dem Produkt Display PostScript (DPS) und dem Produkt Acrobat Distiller verfügbar. Als Hersteller des Standards werden diese Produkte als "Standardimplementierung" betrachtet, um Unterschiede zwischen PostScript-Implementierungen zu beschreiben.

Die im PLRM definierte Standardschnittstelle für den Interpreter ist der Programmstrom, der je nach den Details des zugrunde liegenden Kanals oder des Betriebssystems / Controllers entweder Text oder binär sein kann. Acrobat Distiller verfügt über ein GUI-Frontend, um das Eingabe-Postscript-Programm auszuwählen und seine Ausgabe als PDF-Datei darzustellen. Distiller bietet auch eine begrenzte Unterstützung für die Verwendung des Ausgabetextstroms zum Melden von Fehlern und anderen Programmausgaben. GSView bietet ein ähnliches GUI-Frontend für einen ähnlichen Workflow mit Ghostscript als Interpreter.

Ghostscript und Xpost arbeiten beide in einem Befehlszeilenmodus. Die Postscript-Programmdatei, die ausgeführt werden soll, kann in der Befehlszeile ( gs program.ps xpost program.ps oder xpost program.ps ) angegeben werden, die ein Grafikfenster öffnet, in dem die grafische Ausgabe angezeigt wird. Optionen können verwendet werden, um die Grafiken an anderer Stelle wie eine Festplattendatei darzustellen oder die Grafiken vollständig zu unterdrücken und Postscript nur als Skriptsprache zu verwenden.

Die verschiedenen Dolmetscher haben jeweils eigene Installations- und Setupanweisungen, und es wäre verschwenderisch (und dazu neigen, nicht mehr aktuell zu sein), sie hier zu reproduzieren.

Frei verfügbare PostScript-Interpreter

  • Ghostscript ist für alle gängigen Plattformen und Linux-Distributionen in Quell- oder Binärform, unter der GNU-Lizenz oder unter anderen Lizenzvereinbarungen mit den Autoren, Artifex-Software , verfügbar . Ghostscript implementiert den vollständigen PostScript 3-Standard.

  • Xpost ist in Quellform für alle gängigen Plattformen unter der BSD-3-Klausel-Lizenz verfügbar. Es implementiert den Level-1-Standard mit einigen Level-2-Erweiterungen und einigen DPS-Erweiterungen.

Allgemeine Beschreibung von PostScript

PostScript ist eine allgemeine Programmiersprache für Turing, die von Adobe Systems entwickelt und entwickelt wurde. Viele der Ideen, die in PostScript aufblühten, waren in Projekten für Xerox und Evans & Sutherland entwickelt worden.

Seine Hauptanwendung in der realen Welt ist historisch eine Seitenbeschreibungssprache oder in ihrem einseitigen EPS eine Vektorgrafik-Bildbeschreibungssprache. Es ist dynamisch typisiert, dynamisch und stapelbasiert, was zu einer meist polnischen umgekehrten Syntax führt.

Es gibt drei Hauptversionen von PostScript.

  1. PostScript Level 1 - wurde 1984 als residentes Betriebssystem des LaserWriter-Laserdruckers von Apple auf den Markt gebracht und eröffnet damit die Ära des Desktop Publishing.
  2. PostScript Level 2 - veröffentlicht im Jahr 1991, enthielt mehrere wichtige Verbesserungen von Level 1, einschließlich Unterstützung für die Dekomprimierung von Bildern, In-RIP-Trennung, automatisch wachsende Wörterbücher, Speicherbereinigung, benannte Ressourcen und binäre Kodierungen des PostScript-Programmstroms.
  3. PostScript 3 - die neueste und vielleicht am weitesten verbreitete Version wurde 1997 veröffentlicht. Sie enthält auch einige Verbesserungen des Imports gegenüber Level 2, wie beispielsweise Smooth Shading. Der Begriff „Ebene“ wurde gestrichen.

Obwohl PostScript normalerweise als Seitenbeschreibungssprache verwendet wird und daher in vielen Druckern zum Erzeugen von Rasterbildern implementiert ist, kann es auch für andere Zwecke verwendet werden. Als schneller Reverse-Polish-Rechner mit mehr einprägsamen Namen als bc . Als Ausgabeformat, das von einem anderen Programm generiert wurde (normalerweise in einer anderen Sprache).

Zwar handelt es sich bei PostScript-Dateien normalerweise um 7-Bit-Bereinigungs-ASCII-Dateien, jedoch gibt es verschiedene Arten von Binärkodierungen, die im Standard der Ebene 2 beschrieben werden. Und weil es programmierbar ist, kann ein Programm sein eigenes willkürlich komplexes Codierschema für sich selbst implementieren. Es gibt einen internationalen verschleierten Postscript-Wettbewerb, etwas weniger aktiv als der C-Wettbewerb.

Online-Referenzen

FAQs

Bücher

  • Postscript-Referenzhandbuch für Sprachen, 1ed, 1985. Empfohlen aufgrund der geringen Größe und des einfachen Bedienerindex auf der Zusammenfassungsseite (fehlt in späteren Ausgaben).

  • Postscript der realen Welt. Kapitel verschiedener Autoren zu verschiedenen Themen, einschließlich exzellenter Berichterstattung über Halbtoneffekte.

Lokale Namespaces für Funktionen

Postscript ist eine Sprache für dynamischen Namespace oder LISP 1 . Es bietet jedoch die Werkzeuge zum Implementieren lokaler Variablen in Prozeduren und andere Effekte, die zur Implementierung von Algorithmen erforderlich sind.

Erstellen Sie für lokale Namen in einer Prozedur am Anfang ein neues Wörterbuch, und platzieren Sie es am Ende.

/myproc {
    10 dict begin
    %... useful code ...
    end
 } def

Sie können dies auch gut mit einer Verknüpfung kombinieren, um die Argumente der Funktion als Variablen zu definieren.

% a b c  myproc  result
/myproc {
    10 dict begin
    {/c /b /a} {exch def} forall
    %... useful code yielding result ...
    end
 } def

Wenn Sie eine * "globale" * - Variable aktualisieren müssen, während das lokale Wörterbuch oben ist, verwenden Sie store anstelle von def .

Hallo Weltbeispiel

Wählen Sie eine Schrift und Schriftgröße aus, wählen Sie den Ort aus, show String an.

%!PS
/Palatino-Roman 20 selectfont
300 400 moveto
(Hello, World!) show
showpage

Anmerkungen und häufige Fallstricke:

  • Festlegen einer Schriftart (führt zu keinem Text oder einer (hässlichen) Standardschriftart)

  • Verwenden Sie findfont und setfont , vergessen setfont jedoch nicht, zwischen den setfont zu scalefont . Durch die selectfont des Level-2- selectfont dieses Problem vermieden und es wird selectfont .

  • Einen Punkt nicht mit moveto oder den Punkt außerhalb der Seite setzen. Für US-Briefpapier ist 8.5x11 792x612 ps Punkte. Es ist also leicht, sich an 800x600 zu erinnern (aber ein bisschen kürzer und breiter). So ist 300 400 ungefähr die Mitte der Seite (wenig hoch, wenig links).

  • Vergessen, die showpage . Wenn Sie ein ps-Programm mit gs in der showpage anzeigen und nicht mit der showpage , zeigt gs möglicherweise ein Bild an. Und dennoch wird die Datei auf mysteriöse Weise keine Ausgabe erzeugen, wenn Sie versuchen, in PDF oder etwas anderes zu konvertieren.

Lehrplan

Lesen Sie die Dokumentation in dieser Reihenfolge, um das Postscript leicht zu erlernen:

  1. Paul Bourkes hervorragendes Tutorial: http://paulbourke.net/dataformats/postscript/

  2. Blue Book, erste Hälfte, das ursprüngliche offizielle Tutorial:
    http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF

  3. Green Book, wie man Postscript effektiv einsetzt:
    http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF

  4. Denken in Postscript ', sagte Nuff: http://wwwcdf.pd.infn.it/localdoc/tips.pdf

  5. Mathematische Illustrationen . Fange klein an, baue groß. Die Mathematik hinter Bezier Curves. Der Hodgman-Sutherland-Polygon-Ausschnittsalgorithmus. Affine Transformationen und nichtlineare Transformationen des Pfads. 3D-Zeichnung und Gouraud-Schattierung. Aus dem Vorwort:

Welche der vielen Werkzeuge, mit denen man mathematische Grafiken erstellen kann, zu wählen ist, scheint offensichtlich ein Kompromiss zwischen Einfachheit und Qualität zu sein, wobei die meisten sich für das halten, was sie als Einfachheit empfinden. Die Wahrheit ist, dass ein Kompromiss nicht notwendig ist - wenn man erst einmal eine kleine Anfangsanstrengung getätigt hat, ist es bei weitem das Beste, ein Programm in der Grafikprogrammiersprache PostScript zu schreiben. Die Qualität der Ausgabe eines PostScript-Programms ist praktisch unbegrenzt, und mit zunehmender Erfahrung nehmen die Schwierigkeiten bei der Verwendung der Sprache rapide ab. Die scheinbare Komplexität, die mit der Erstellung einfacher Zahlen durch das Programmieren in PostScript verbunden ist, wie ich hoffe, dass dieses Buch zeigen wird, ist weitgehend eine Illusion. Und der Aufwand für die Herstellung komplizierterer Figuren ist in der Regel weder höher noch geringer als notwendig.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow