Data de creació | 1987 |
---|---|
Disseny | John Warnock i Chuck Geschke |
Desenvolupador | Adobe Systems |
Paradigma de programació | multiparadigma: basat en pila, procedural |
Darrera versió estable | PostScript 3 |
Tipus de dades | dinàmic, fort |
Majors implementacions | Adobe PostScript, TrueImage, Ghostscript, InterPress |
Influenciat per | Lisp |
Ha influenciat |
Exemple de codi Postscript | |
Tipus | Llenguatge de descripció de pàgines |
---|---|
Extensió | .ps |
MIME | application/postscript |
Uniform Type Identifier | com.adobe.postscript |
Magic number | %! |
Desenvolupador | Adobe Systems |
Extensió a | Encapsulated 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.
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.
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.
Per aconseguir l'ús interactiu en pantalla amb un rendiment raonable van haver de realitzar alguns canvis:
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 .pswrap
", que permet als desenvolupadors encapsular codi PostScript en una funció en llenguatge C que es pot cridar des d'una aplicació.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.