Primer di computer grafica 

   
Adobe PostScript

PostScript è un linguaggio specializzato per la computer grafica. Appartiene alla categoria dei linguaggi di programmazione e non a quella dei linguaggi di descrizione. Per esempio sono linguaggi di programmazione:

  • Java (specializzato per il web)
  • JavaScript (limitato, per il web)
  • Fortran (specializzato per calcoli scientifici)
  • Cobol (specializzato per calcoli commerciali)
  • Basic (generale, didattico)
  • C (specializzato per Unix)
  • Pascal (generale, didattico)

mentre non lo sono:

  • HTML (descrizione di pagine web)
  • SGML
  • XML
  • RTF (Rich Text Format, usato da Word)

I linguaggi di programmazione hanno la caratteristica di contenere comandi il cui risultato dipende dal contesto: per esempio il comando se

se imponibile < 24

allora imposta = 20% dell'imponibile

altrimenti imposta = 4.8 + 22% (imponibile - 24)

Principalmente (ma non esclusivamente) il PostScript viene utilizzato per descrivere immagini e segni grafici destinati alla stampa. Tali immagini possono essere in bianco e nero, a grigi, a colori RGB, a colori CMYK.

Le stampanti PostScript sono quelle che accettano istruzioni in linguaggio PostScript. Possono essere stampanti a colori (3, 4, 6, ...) o a grigi.

La stampante PostScript

Le stampanti che accettano istruzioni in linguaggio PostScript sono composte di due parti: il Rip (Raster Image Processor) e la stampante vera e propria (la parte meccanica).

Il Rip PostScript è un programma che può risiedere nell'hardware della stampante (cioè in ROM) oppure in un software separato. Se è hardware è un vero e proprio computer con processore e memoria (separato o congiunto con la stampante vera e propria). Se è software è installato su un computer con processore e memoria.

Il rip ha il compito di

  • eseguire le istruzioni PostScript mediante un interprete;
  • calcolarne il risultato, che è una lista di oggetti grafici detta display list;
  • rasterizzare questi oggetti grafici (rendering);
  • retinare il raster (screening);
  • passare il tutto alla parte meccanica per la stampa vera e propria (imaging, con inchiostro su carta).

Tutte le operazioni del Rip (interpretazione, rasterizzazione, retinatura) avvengono in memoria, fino alla costruzione di ogni singolo pixel da spedire alla stampante.

Il primo componente del RIP, l'interprete, interpreta appunto il linguaggio PostScript, esegue una ad una le istruzioni e memorizza i risultati nella cosiddetta display list. Nella display list sono dunque contenuti tutti gli oggetti grafici di ogni pagina in un formato uniforme.

Il secondo componente, la parte di rendering, converte gli oggetti della display list in singoli pixel (mappa di byte) alla risoluzione richiesta, che vengono memorizzati.

Il terzo componente, la parte di screening, retina le immagini a colori e a grigi e memorizza il risultato (mappa di bit) nella memoria del RIP.

Riassumendo: le istruzioni PostScript vengono presentate al RIP. L'interprete PostScript interpreta questa istruzioni e ne ricava una display list, cioè una descrizione dettagliata e ordinata delle pagine con i singolo oggetti grafici. Gli elementi della display list vengono resi in memoria e quindi retinati. Infine il risultato, la mappa di bit, viene trasferito alla stampante che fa la cosiddetta imaging, cioè stampa l'immagine.

Stampa PostScript su Macintosh

Su MacOS la stampa da una applicazione (per esempio Photoshop) ad una stampante PostScript avviene attraverso il driver PostScript.

Il driver è un piccolo programma residente nel computer (nel Macintosh sta nella cartella Estensioni, e si vede nella finestra Scelta Risorse) che gestisce il flusso di dati provenienti dall'applicazione e li trasmette alla stampante.

Se una stampante non ha un driver per un determinato sistema operativo, è compito del programma stesso gestire direttamente la stampante. In tal caso il programma deve essere in grado di gestire direttamente un gran numero di singole stampanti. L'uso di un driver consente ad una applicazione di stampare su diverse stampanti e viceversa ad una stampante di accettare dati da diverse applicazioni.

Esistono un paio di driver PostScript: LaserWriter della Apple e AdobePS di Adobe. Il driver ha due funzioni: se richiesto, tradurre QuickDraw in PostScript e permettere il controllo di funzioni specifiche della stampante.

Su Macintosh, per selezionare un driver e una stampante PostScript si apre Scelta Risorse e si fa clic a sinistra su uno dei due driver PostScript. Sulla destra appaiono le stampanti PostScript disponibili in rete. Se ne sceglie una e si chiude Scelta Risorse.

La prima volta che si seleziona una stampante è necessario selezionare il relativo PPD (PostScript Printer Description) con il bottone Setup. Il PPD descrive le caratteristiche specifiche della stampante, cioè le risoluzioni che può supportare, le dimensioni di pagina, i retini, se supporta il colore e così via. Inoltre contiene i comandi PostScript da utilizzare per il controllo della stampante (scelta del cassetto, taglio della pellicola e così via).

Se il PPD è stato scelto correttamente, accanto al nome della stampante compare una piccola icona colorata.

Scelta della stampante PostScript in Scelta Risorse.
Scelta del PPD e configurazione della stampante PostScript.
Chi scrive i programmi PostScript

Può darsi che ci siano ancora programmatori PostScript in giro per il mondo, ma la stragrande maggioranza dei programmi PostScript oggi viene scritta "automaticamente"

  • dall'applicazione: alcune (XPress, Photoshop, FreeHand, ecc.) generano (in fase di stampa) le istruzioni PostScript che vengono passate al driver PostScript (LaserWriter, AdobePS) il quale:
    • le trasferisce come sono al rip (in un print stream) per la stampa, oppure
    • le salva su disco, in un file .ps che successivamente può essere caricato nel rip per l'interpretazione e la stampa (oppure interpretato da Distiller creando un file .pdf);
  • dal driver PostScript (LaserWriter, AdobePS) nel caso in cui l'applicazione non sia in grado di generare autonomamente le istruzioni PostScript (per esempio Word, Excel, FileMaker); in tal caso l'applicazione comunica gli ordini di stampa al driver PostScript, che li traduce in istruzioni PostScript le quali vengono:
    • trasferite al rip (in un print stream) per la stampa, oppure
    • salvate su disco (in un file .ps);
  • dall'applicazione mediante salvataggio di un file Encapsulated PostScrip (.eps) che a sua volta può essere:
    • caricato direttamente nel rip per l'interpretazione e la stampa;
    • importato in un lavoro all'interno di una applicazione;
    • interpretato da Distiller per la creazione di un PDF;

La stampa PostScript

Si apre l'applicazione dalla quale si vuole stampare e la pagina da stampare e si sceglie Stampa nel menù File. Appare la finestra del driver PostScript selezionato in Scelta Risorse. Si impostano le opzioni e si fa clic su Stampa.

L'applicazione trasmette al driver PostScript la pagina da stampare, esprimendola direttamente in PostScript oppure nel linguaggio standard del sistema operativo MacOS, cioè QuickDraw.

Il driver riceve le istruzioni PostScript oppure QuickDraw che traduce in PostScript. A questo punto è disponibile un file con le istruzioni PostScript che può essere salvato su disco (se così è stato chiesto nelle opzioni) oppure può essere trasferito alla stampante.

Se il file PostScript viene salvato su disco potrà essere spedito alla stampante successivamente con un programma di caricamento. In un modo o nell'altro, il file con le istruzioni PostScript (cioè con il programma PostScript) viene presentato alla stampante.

Dove si aggancia lo spool? background? foreground?

Il PostScript generato dalle applicazioni

Su MacOS, generano QuickDraw, tra le altre, le seguenti applicazioni:

  • Microsoft Word;
  • Microsoft Excel;
  • Microsoft PowerPoint;
  • QuickTime PictureViewer;
  • SimpleText;
  • MacWrite Pro.

Generano PostScript, tra le altre, queste applicazioni:

  • Quark XPress;
  • Adobe PageMaker;
  • Adobe Illustrator;
  • Macromedia FreeHand;
  • Adobe InDesign;
  • Adobe Photoshop;
  • Adobe Acrobat;
  • Corel Draw;
  • Corel Paint;
  • Corel Ventura Publisher;
  • Heidelberg Linocolor.

Le applicazioni del primo tipo mandano il codice QuickDraw al driver PostScript che lo traduce in PostScript e lo spedisce al RIP della stampante.

Le applicazioni del secondo tipo mandano al driver il codice PostScript incapsulato in istruzioni QuickDraw. Il driver estrae il PostScript e lo trasferisce al Rip della stampante, senza alcuna traduzione.

Entrambe possono usare la possibilità che ha il driver di controllare funzioni specifiche della stampante.

   

Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 31 luglio 2002