Ricerca…


Osservazioni

PostScript è un linguaggio di scripting dinamico, basato su stack, dinamicamente inverso e basato su stack con primitive incorporate per la generazione di immagini renderizzate da descrizioni vettoriali. PostScript utilizza lo stesso "Adobe Image Model" come formato di file PDF.

PostScript viene utilizzato come formato di output da molti programmi poiché è progettato per essere facilmente generato dalla macchina.

Come LISP, PostScript è omoiconico e il codice e i dati condividono la stessa rappresentazione. Le procedure possono prendere le procedure come dati e generare procedure come risultati, prestandosi anche alle tecniche derivanti dalla programmazione concatenativa .

Installazione o configurazione

Gli interpreti Adobe PostScript autentici sono disponibili nelle stampanti di fascia alta, nel prodotto Display PostScript (DPS) e nel prodotto Acrobat Distiller. Come autori dello standard, questi prodotti sono considerati "l'implementazione standard" allo scopo di descrivere le differenze tra le implementazioni PostScript.

L'interfaccia standard all'interprete definita nel PLRM è il flusso del programma che può essere sia testo che binario in base ai dettagli del canale o del SO / controller sottostante. Acrobat Distiller ha un front-end GUI per selezionare il programma postscript di input e renderne l'output in formato pdf. Distiller ha anche un supporto limitato per l'utilizzo del flusso di testo di output per segnalare errori e altri output del programma. GSView offre un'interfaccia grafica simile per un flusso di lavoro simile che utilizza Ghostscript come interprete.

Ghostscript e Xpost funzionano entrambi in modalità riga di comando. Il file di programma postscript da eseguire può essere menzionato sulla riga di comando ( gs program.ps o xpost program.ps ) che aprirà una finestra grafica per visualizzare l'output grafico. Le opzioni possono essere utilizzate per rendere la grafica da qualche altra parte come un file su disco o sopprimere completamente la grafica e utilizzare postscript proprio come un linguaggio di scripting di testo.

I vari interpreti hanno ciascuno le proprie istruzioni di installazione e configurazione e sarebbe inutile (e incline a non essere aggiornato) riprodurle qui.

Interpreti PostScript liberamente disponibili

  • Ghostscript è disponibile per tutte le principali piattaforme e distribuzioni Linux, in formato sorgente o binario, sotto la licenza GNU o sotto altri accordi di licenza con gli autori, il software Artifex . Ghostscript implementa lo standard PostScript 3 completo.

  • Xpost è disponibile in formato sorgente per tutte le principali piattaforme, sotto la licenza BSD-3-clause. Implementa lo standard Level 1 con alcune estensioni di Livello 2 e alcune estensioni DPS.

Descrizione generale di PostScript

PostScript è un linguaggio di programmazione generale completo di Turing, progettato e sviluppato da Adobe Systems. Molte delle idee sbocciate in PostScript erano state coltivate in progetti per Xerox ed Evans & Sutherland.

La sua principale applicazione nel mondo reale è storicamente come un linguaggio di descrizione della pagina , o nella sua singola pagina EPS forma un linguaggio di descrizione-immagine vettoriale. È tipizzato dinamicamente, con ambito dinamico e basato sullo stack, il che porta ad una sintassi prevalentemente polacca inversa.

Esistono tre versioni principali di PostScript.

  1. PostScript Livello 1 : è stato rilasciato sul mercato nel 1984 come sistema operativo residente della stampante laser Apple LaserWriter, inaugurando l'era del desktop publishing.
  2. PostScript livello 2 - rilasciato nel 1991, questo conteneva alcuni importanti miglioramenti al Livello 1, incluso il supporto per la decompressione dell'immagine, separazione in-RIP, dizionari auto-crescita, raccolta dati inutili, risorse denominate, codifiche binarie del flusso del programma PostScript stesso.
  3. PostScript 3 - la versione più recente e forse più diffusa è stata rilasciata nel 1997. Anch'essa contiene diversi miglioramenti all'importazione rispetto al Livello 2 come Smooth Shading. Il termine "livello" è stato abbandonato.

Sebbene PostScript sia tipicamente usato come linguaggio di descrizione della pagina - e quindi è implementato in molte stampanti per generare immagini raster - può anche essere usato per altri scopi. Come una calcolatrice rapida per la lucidatura inversa con nomi di operatori più memorizzabili rispetto a bc . Come formato di output generato da un altro programma (di solito in qualche altra lingua).

Sebbene i file PostScript siano tipicamente ASCII a 7 bit, esistono diversi tipi di codifica binaria descritti nello standard di livello 2. Ed essendo programmabile, un programma può implementare il proprio schema di codifica arbitrariamente complesso per se stesso. Esiste una competizione internazionale postfissa offuscata, un po 'meno attiva di quella C.

Riferimenti online

FAQs

Libri

  • Postscript Language Reference Manual, 1ed, 1985. Consigliato per le sue ridotte dimensioni e facile indice di operatore dalle pagine di riepilogo (mancante nelle edizioni successive).

  • Postscript del mondo reale. Capitoli di vari autori su vari argomenti, tra cui un'eccellente copertura dei mezzitoni.

Spazi dei nomi locali per le funzioni

Postscript è un linguaggio di nomi dinamici o LISP 1 . Ma fornisce gli strumenti per implementare le variabili locali nelle procedure e altri effetti necessari per implementare gli algoritmi.

Per i nomi locali in una procedura, creare un nuovo dizionario all'inizio e farlo scoppiare alla fine.

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

Puoi anche combinarlo bene con una scorciatoia per definire gli argomenti della funzione come variabili.

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

Se è necessario aggiornare una variabile * "global" * mentre il dizionario locale è in cima, utilizzare store invece di def .

Ciao esempio del mondo

Seleziona un font e fontsize, seleziona location, show string.

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

Note e insidie ​​comuni:

  • Impossibile impostare un font (che non genera alcun testo o un font predefinito (brutto))

  • Usando findfont e setfont ma dimenticando di scalefont in mezzo. Utilizzando il livello 2 selectfont evita questo problema ed è più conciso.

  • moveto impostare un punto con moveto o impostare il punto all'esterno della pagina. Per la carta da lettera americana 8.5x11 è 792x612 punti ps. Quindi è facile ricordare circa 800x600 (ma uno smidge più corto e più largo). Quindi 300 400 è approssimativamente il centro della pagina (poco alto, poco a sinistra).

  • Dimenticando di chiamare showpage . Se visualizzi in anteprima un programma ps con gs e non finisce in showpage , gs potrebbe visualizzare un'immagine per te. Eppure, il file non produrrà misteriosamente alcun output quando si tenta di convertire in pdf o qualcos'altro.

programma scolastico

Leggi la documentazione in questo ordine per imparare facilmente PostScript:

  1. L'eccellente tutorial di Paul Bourke: http://paulbourke.net/dataformats/postscript/

  2. Blue Book, prima metà, il tutorial ufficiale originale:
    http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF

  3. Libro verde, come usare efficacemente postscript:
    http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF

  4. Pensando in Postscript, 'nuff said: http://wwwcdf.pd.infn.it/localdoc/tips.pdf

  5. Illustrazioni matematiche . Inizia in piccolo, costruisci alla grande. La matematica dietro Bezier Curves. L'algoritmo di ritaglio poligono Hodgman-Sutherland. Trasformazioni affini e trasformazioni non lineari del percorso. Disegno 3D e ombreggiatura Gouraud. Dalla prefazione:

Quale [dei tanti strumenti per aiutare a produrre una grafica matematica] da scegliere apparentemente comporta un compromesso tra semplicità e qualità, in cui la maggior parte va per ciò che percepiscono essere la semplicità. La verità è che il trade-off non è necessario - una volta che si è fatto un piccolo investimento iniziale di sforzi, la cosa migliore da fare nella maggior parte delle situazioni è scrivere un programma nel linguaggio di programmazione della grafica PostScript. Non c'è praticamente alcun limite alla qualità dell'output di un programma PostScript e, man mano che si acquisisce esperienza, le difficoltà di usare il linguaggio diminuiscono rapidamente. L'apparente complessità implicata nella produzione di figure semplici programmando in PostScript, come spero che questo libro dimostrerà, è in gran parte un'illusione. E la quantità di lavoro necessaria per produrre figure più complicate di solito non sarà né più né meno di quanto è necessario.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow