colore digitale blog

Il blog di Mauro Boscarol sulla gestione digitale del colore dal 1997

Nella serie Periferiche digitali

Driver di stampante e RIP

La stampa è una delle azione più complesse per un computer e chiunque utilizza il computer deve affrontare prima o poi problemi di stampa di vario tipo. La stampa da computer è complessa perché coinvolge tre soggetti:

  • chi scrive il codice dell’applicazione (per esempio Adobe per Photoshop);
  • chi scrive il sistema operativo (per esempio Apple per Mac OS X);
  • chi scrive il linguaggio base della stampante (per esempio Epson per Stylus Photo R340).

Tutti questi soggetti devono mettersi d’accordo per realizzare una stampa senza intoppi e problemi.

Ogni stampante accetta certi comandi, esclusivi per quella stampante. Per poter supportare una determinata stampante, una applicazione deve essere in grado di trasmettere alla stampante stessa i comandi adeguati per quella stampante. Dunque in teoria il programmatore di una applicazione dovrebbe prevedere il supporto di centinaia di stampanti diverse. Questo non è ovviamente fattibile, e il problema viene risolto con i cosiddetti “driver di stampa” e i cosiddetti RIP (raster rimage processor).


Driver

La filosofia di base del driver di stampa è che l’applicazione (per esempio Photoshop) non si fa carico di conoscere ogni singola stampante e di trasmettere ad essa i comandi corretti per stampare, ma si affida al sistema operativo. Si verifica insomma un accordo virtuale tra produttori di software e produttori di stampanti, con l’intermediazione del produttore del sistema operativo.

Il sistema operativo stabilisce un determinato linguaggio grafico, genericamente adatto per tutte le stampanti (su MacOS è QuickDraw, su Mac OS X è PDF, su Windows è GDI). Una applicazione, per stampare, emette unicamente istruzioni in questo linguaggio.

D’altra parte il costruttore di una stampante realizza un printer driver per quella stampante, che accetta comandi in questo linguaggio e li trasforma in comandi per quella determinata stampante. Attraverso il driver l’applicazione spedisce alla stampante la mappa di pixel (CMY, o CMYK, o CcMmYK o altro) da stampare.

Nella finestra di stampa di una applicazione c’è sempre una parte controllata dall’applicazione stessa (per esempio Photoshop), una parte controllata dal sistema operativo (per esempio Mac OS X) e una parte controllata dal driver (per esempio Epson).

In una stampante gestita da un driver il flusso di stampa avviene in questo modo:

  1. L’applicazione può eseguire qualche operazioni sui dati prima di spedirli al driver di stampa.
  2. L’applicazione spedisce i dati nel linguaggio del sistema operativo (e quindi con i colori espressi in RGB) al driver della stampante. Alcune applicazioni (quasi tutte le applicazioni grafiche) possono spedire, assieme ai dati, anche il profilo colore dell’immagine.
  3. Il driver può agire sui dati RGB ed eventualmente sul profilo colore, per esempio invocando il sistema operativo per fare una trasformazione da un profilo RGB ( trasmesso con i dati) al profilo  RGB della stampante.
  4. Il driver della stampante converte i dati RGB in dati relativi agli inchiostri (per esempio CMYK o CcMmYK) mediante un algoritmo proprietario interno che ha una sua propria generazione del nero, limite di inchiostri e tutto il resto e che genera una LUT (lookup table) (o anche mediante il sistema operativo)
  5. Il driver esegue la retinatura dell’immagine (screening).
  6. Il driver spedisce i numeri CMYK o altro di ogni singolo pixel alla stampante.

In teoria la conversione al punto 4 potrebbe anche essere fatta in hardware (nell’elettronica della stampante), ma è un metodo che non si usa: forse veniva usato una volta nelle stampanti ad aghi, ma la conversione da RGB a CMYK dipende dalla combinazione carta/inchiostro e non è conveniente inserire nell’hardware diverse LUT per diverse combinazioni fisse carta/inchiostro. Invece nel driver software queste LUT si possono modificare e aggiornare.


RIP

Esiste un’altra soluzione al problema della stampa, che consiste nell’utilizzare un RIP. Anche in questo caso il RIP supporta un linguaggio (tipicamente PostScript o PDF) che tuttavia è indipendente dal sistema operativo. Il RIP supporta un certo numero di stampanti e traduce le istruzioni che riceve dall’applicazione in istruzioni per la stampante.

Esistono applicazioni che possono generare direttamente il linguaggio supportato dal RIP, altre che generano istruzioni nel linguaggio supportato dal sistema operativo e la traduzione avviene mediante un driver (LaserWriter in MacOS, Adobe Printer in Windows).

Inizialmente i RIP utilizzavano il linguaggio PostScript (con gestione del colore proprietaria), poi sono passati lentamente ad utilizzare il linguaggio PDF (con gestione colore ICC), che è un PostScript interpretato. Per maggiori particolari si veda la serie PostScript e i suoi derivati.

Oggi esistono RIP molto potenti che consentono non solo di stampare, ma anche di effettuare operazioni di calibrazione e profilazione colore della stampante.


Stampante RGB e stampante CMYK

Le stampanti a colori per personal computer funzionano con tre (CMY), quattro (CMYK), sei (CcMmYK) o più inchiostri.

Tuttavia tipicamente un driver può rappresentare un colore con al massimo tre componenti (cioè praticamente RGB) e quindi non ha le adeguate strutture sintattiche per specificare un colore CMYK (che ha quattro componenti). Di conseguenza ad un driver di stampante è possibile trasmettere solo dati RGB e non c’è modo di trasmettere dati CMYK. Non si tratta di una limitazione della stampante o del driver, ma del sistema operativo, precisamente del linguaggio di trasmissione dei dati da stampare.

È il driver stesso della stampante, che è sempre un driver proprietario, specifico per quella stampante, non “aperto”, i cui dettagli non sono noti (una cosiddetta “scatola nera”) a convertire i dati RGB in dati relativi agli inchiostri di stampa (CMYK o altro).

Per questo motivo si usa dire che una stampante gestita da un driver “è una stampante RGB” (e per esempio va descritta con un profilo colore RGB e non in altre modalità come CMYK). In realtà le uniche vere stampanti RGB sono le stampatrici su carta sensibile utilizzate dai laboratori di stampa fotografica.

Invece l’uso di un RIP consente la trasmissione (dall’applicazione al RIP) in qualunque modalità di colore (RGB, CMYK, Lab o altro).

 

Torna all'indice di Periferiche digitali

Mauro Boscarol

23/1/2011 alle 14:03

Parole chiave ,

Visitato 4,801 volte, negli ultimi 7 giorni 7 visite

2 commenti

Abbonati ai commenti a questo post con RSS

  1. ho letto che il rip ImagePrint 9 non consente la calibrazione della stampante ritenendo tale procedimento un inutile retaggio dei vecchi sistemi di stampa.
    Cosa ne pensi?

    max.monti

    13/9/12 alle 21:52

  2. Non so cosa dire, non conosco Imageprint e non so cosa intenda per calibrazione della stampante.

    Mauro Boscarol

    14/9/12 alle 22:43

Vuoi fare un commento a questo post?

Devi essere collegato per scrivere un commento.