Display PostScript

Infotaula de llenguatge de programacióDisplay PostScript
Data de creació1987
DissenyJohn Warnock i Chuck Geschke
DesenvolupadorAdobe Systems
Paradigma de programaciómultiparadigma: basat en pila, procedural
Darrera versió establePostScript 3
Tipus de dadesdinàmic, fort
Majors implementacionsAdobe PostScript, TrueImage, Ghostscript, InterPress
Influenciat perLisp
Ha influenciatPDF
Infotaula de format de fitxerDisplay PostScript
Exemple de codi Postscript
TipusLlenguatge de descripció de pàgines
Extensió.ps
MIMEapplication/postscript
Uniform Type Identifiercom.adobe.postscript
Magic number%!
DesenvolupadorAdobe Systems
Extensió aEncapsulated PostScript

Display PostScript (o DPS ) és un sistema de representació en pantalla. Com el nom suggereix, DPS empra el llenguatge PostScript (PS) per generar gràfics en pantalla.

NeXT Computer Inc va dissenyar DPS com un sistema de representació per al seu ús en els ordinadors personals basats en Unix el 1987. Mentre que les versions anteriors de PostScript havien estat desenvolupades per Adobe, la implementació de Display PostScript va ser desenvolupada per NeXT en cooperació amb Adobe Systems, i van fer un producte oficial Adobe amb els seus propis estàndards, documents i requisits de llicències.

Història

[modifica]

Els desenvolupadors de NeXT van escriure un motor de finestres completament nou per aprofitar al màxim el sistema operatiu orientat a objectes del NeXT, creant el concepte de "Backbone".[1] Van afegir diversos comandaments a DPS per crear realment les finestres i poder reaccionar a esdeveniments, similar però més senzill que NeWS. L'única API va fer que la programació en nivells superiors fos molt més fàcil i va fer que NeXT arribés a ser un dels pocs sistemes en emprar extensament DPS. La biblioteca del sistema de finestres d'usuari NeXTSTEP va utilitzar PostScript per dibuixar elements com barres de títol i barres de scroll, fent un ús extensiu depswraps que al seu torn portaven un embolcall d'objecte i es presentaven al programador en forma d'objecte.

Derivats moderns

[modifica]

El sistema operatiu Mac OS X Apple utilitza un servidor de finestres central (creat totalment per Apple) que emmagatzema en memòria cau els gràfics de la finestra en format PDF, en comptes d'emmagatzemar i executar el Codi PostScript. Una biblioteca gràfica anomenada Quartz 2D proporciona imatges d'estil PostScript utilitzant el model de representació de PDF (un subconjunt, més ajustat del model PostScript), però això és utilitzat pels marcs d'aplicacions: no hi ha cap document PostScript present a Mac OS El servidor X-Windows d'Apple va optar per utilitzar aquest model per diversos motius, incloent el fet d'evitar les tarifes de la llicència de DPS i un suport més eficaç del codi de Carbon i Classic ; Les aplicacions basades en QuickDraw utilitzen exclusivament els gràfics bitmap. Les estipulacions sobre drets d'autor d'Adobe per a l'estàndard PDF són molt menys restrictives, atorgant permís de drets de autor condicional a qualsevol que utilitzi el format en aplicacions de programari de franc.

Modificacions

[modifica]

Per aconseguir l'ús interactiu en pantalla amb un rendiment raonable van haver de realitzar alguns canvis:

  • Contextos d'execució múltiple : A diferència dels entorns d'impressió on els intèrprets PostScript processen una tasca cada vegada, DPS es pot emprar en diverses finestres al mateix temps, cadascuna amb les seva pròpia configuració (color, brotxes, escala, etc.). Això requeria una modificació del sistema per permetre l'emmagatzematge de molts "contexts" (conjunts de dades d'estat) actius, un per a cada procés o finestra.
  • Noms codificats : Molts dels processos i estructures de dades de PostScript s'obtenien en buscar pel seu nom. En DPS aquests noms es poden reemplaçar per números petits, molt més fàcils de trobar per un ordinador.
  • Suport a la interacció : Es definiren diversos procediments per a manejar la interacció, inclosa la detecció de hits .
  • Fase de semitò : Per millorar el rendiment en desplaçar el text, DPS només dibuixava la petita porció de la finestra que es tornava visible, desplaçant la resta de la imatge en lloc de recalcular. Tanmateix, això significava que els semitons no s'alineaven, produint línies i rectangles visibles a la representació. DPS va haver d'incloure codi addicional per solucionar aquests casos. Els sistemes de representació moderns amb color sense semitons han fet que aquesta idea quedi obsoleta.
  • Actualitzacions incrementals : En les aplicacions amb capacitat d'impressió el codi PostScript s'interpreta fins que s'obté una showpage , punt en què s'imprimeix realment. Això no és apropiat per a situacions on es necessita mostrar un gran nombre d'actualitzacions menors. DPS va haver d'incloure maneres per permetre representacions gairebé en temps real a mesura que es van rebent les instruccions dels programes d'usuari .
  • Suport de tipus Bitmap : DPS va afegir la capacitat de mapejar Tipus PostScript en tipus de mapa de bits dibuixats a mà i canviar dels uns als altres ràpidament. Mentre que la capacitat de PostScript de representar tipus en dispositius de "baixa resolució" era bona, "baixa resolució" significava representació de l'ordre dels 300 dpi, no els 96dpi que emprava la pantalla del NeXT. Això feia més convenient l'ús de Tipus de mapa de bits per obtenir un rendiment raonable.
  • Suport a programadors : DPS va introduir el concepte de "pswrap", que permet als desenvolupadors encapsular codi PostScript en una funció en llenguatge C que es pot cridar des d'una aplicació.

Ús en la indústria

[modifica]

No obstant això, DPS no definia un sistema de finestres. Es deixava a la implementació que cadascú proporcionés, i que el DPS el faria servir. Inicialment s'emprava el X Window fins que més tard Display PostScript va ser adoptat per companyies com IBM i Silicon Graphics per a les seves estacions de treball. Sovint el codi necessari per obtenir un context DPS a partir d'una finestra de X era molt més complicat que la resta de la interfície DPS. Això va limitar greument la popularitat de DPS quan va aparèixer una alternativa.

Els desenvolupadors de NeXT van escriure un motor de finestres completament nou per poder treure tot el partit possible al sistema operatiu totalment orientat a objectes de què disposaven. El seu API facilitava molt la programació d'alt nivell, el que va provocar que NeXT fos un dels pocs sistemes que feia servir intensament DPS. La biblioteca de sistema de finestres NextStep feia servir PostScript per dibuixar elements com barres de títols i barres de desplaçament. Això, al final, feia un ús intens de pswrap , que al seu torn estaven encapsulats en objectes que es presentaven al programador.

El Mac OS X d'Apple té actualment un model de representació similar al Display PostScript, però no té el mateix nivell de programació. El nou sistema, conegut com a Quartz està basat en el model de PDF, on el codi Tipus de la imatge no és el mateix codi PostScript, sinó el resultat de la seva interpretació. Segueix tenint les mateixes primitives bàsiques, el maneig de tipus i mides, i en molts casos sembla DPS. El format PDF també té diverses millores sobre el PostScript, incloent-hi el maneig del color millorat, compressió i maneig de tipus. No està totalment clar per què es va fer aquest canvi, es diu que Adobe demanava grans sumes per la seva llicència. Les estipulacions del copyright d'Adobe respecte al seu estàndard PDF són molt menys restrictives, el que garanteix permisos condicionals d'ús a qualsevol que empra el format en aplicacions de programari sense haver de pagar res.

Vegeu també

[modifica]

Referències

[modifica]

Enllaços externs

[modifica]