PostScript: diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
m Corregit: d'fitxers -> de fitxers gràfics
m Normalitza etiquetes <ref>
Línia 43: Línia 43:
* [[Píxels]] al vol
* [[Píxels]] al vol
* Descripcions per [[corba de Bézier|corbes de Bezier]]
* Descripcions per [[corba de Bézier|corbes de Bezier]]
* [[Tipografia]] (tipus) d'alta qualitat a baixa resolució <ref> Abans que es desenvolupés Postscript es creia que les tipografies de mapa de bits millorades manualment eren més adequades per a aquesta tasca. </Ref> (p. ex. 300 punts per polzada).
* [[Tipografia]] (tipus) d'alta qualitat a baixa resolució <ref> Abans que es desenvolupés Postscript es creia que les tipografies de mapa de bits millorades manualment eren més adequades per a aquesta tasca. </ref> (p. ex. 300 punts per polzada).


Una de les peculiaritats de PostScript és que utilitza [[Reverse Polish Notation]] (RPN o notació polonesa inversa-com les calculadores de butxaca d'HP). En altres paraules, els paràmetres d'una comanda són donats abans que la comanda mateixa. Les comandes es separen amb espais en blanc. Utilitza operacions de [[pila (estructura de dades)|pila]] per a processar dades i executar comandes.
Una de les peculiaritats de PostScript és que utilitza [[Reverse Polish Notation]] (RPN o notació polonesa inversa-com les calculadores de butxaca d'HP). En altres paraules, els paràmetres d'una comanda són donats abans que la comanda mateixa. Les comandes es separen amb espais en blanc. Utilitza operacions de [[pila (estructura de dades)|pila]] per a processar dades i executar comandes.
Línia 76: Línia 76:
* Major velocitat i fiabilitat
* Major velocitat i fiabilitat
* Capacitat per a realitzar la separació del color en el RIP (in-RIP separation)
* Capacitat per a realitzar la separació del color en el RIP (in-RIP separation)
* Descompressió d'imatges <ref> Per exemple, les imatges en format JPEG poden ser [[renderitzar|renderitzades]] per un programa PostScript. </Ref>
* Descompressió d'imatges <ref> Per exemple, les imatges en format JPEG poden ser [[renderitzar|renderitzades]] per un programa PostScript. </ref>
* Suport per tipus asiàtiques <ref> Les tipus asiàtiques necessiten, per a la correcta descripció, d'una major quantitat de bytes que les europees </ref>
* Suport per tipus asiàtiques <ref> Les tipus asiàtiques necessiten, per a la correcta descripció, d'una major quantitat de bytes que les europees </ref>
* Suport per tipus compostes
* Suport per tipus compostes
Línia 87: Línia 87:
A partir d'aquesta versió Adobe va abandonar la terminologia de nivells, passant a utilitzar la de versions. Aquesta versió va ser alliberada a finals de 1997. Les principals millores que va introduir aquesta nova versió són:
A partir d'aquesta versió Adobe va abandonar la terminologia de nivells, passant a utilitzar la de versions. Aquesta versió va ser alliberada a finals de 1997. Les principals millores que va introduir aquesta nova versió són:


* Ús de 12 bits per descriure les lineatures de semitò <ref> Aquesta característica permet superar la barrera de 256 tons i arribar fins a un degradat que contempla 4.096 tons d'un mateix color. </Ref>
* Ús de 12 bits per descriure les lineatures de semitò <ref> Aquesta característica permet superar la barrera de 256 tons i arribar fins a un degradat que contempla 4.096 tons d'un mateix color. </ref>
* Control extremadament millorat de les separacions de color <ref> El control millorat permet realitzar sense problemes separacions de color que superin la [[quadricromia]] convencional (hexacromia, duotono, imatges multicanal, etc ...). </Ref>
* Control extremadament millorat de les separacions de color <ref> El control millorat permet realitzar sense problemes separacions de color que superin la [[quadricromia]] convencional (hexacromia, duotono, imatges multicanal, etc ...). </ref>
* Suport del format PDF desenvolupat pel programa Acrobat
* Suport del format PDF desenvolupat pel programa Acrobat
* Gestió del color molt més avançada.
* Gestió del color molt més avançada.

Revisió del 23:54, 29 març 2014

Infotaula de llenguatge de programacióPostScript
Tipusllenguatge de programació, format de fitxer, llenguatge interpretat, stack-oriented programming language (en) Tradueix, llenguatge de programació multiparadigma, programació procedimental i família de formats de fitxer Modifica el valor a Wikidata
Data de creació1982
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
Extensió dels fitxersps Modifica el valor a Wikidata
Etiqueta d'Stack ExchangeEtiqueta i Etiqueta Modifica el valor a Wikidata
Infotaula de format de fitxerPostScript
Icona
Exemple de codi Postscript
Exemple de codi Postscript
TipusLlenguatge de descripció de pàgines
Extensió.ps
MIMEapplication/postscript
Uniform Type Identifiercom.adobe.postscript
Magic number%!
DesenvolupadorAdobe Systems
Versió inicial1982 Modifica el valor a Wikidata
Extensió aEncapsulated PostScript
Més informació
Stack ExchangeEtiqueta i Etiqueta Modifica el valor a Wikidata
Wiki del format de fitxerPostScript Modifica el valor a Wikidata

PostScript és un llenguatge de descripció de pàgines (en anglès PDL, page description language ), utilitzat en moltes impressores i, de manera usual, com a format de transport de fitxers gràfics en tallers d'impressió professional.

Està basat en la feina realitzada per John Gaffney a "Evans&Sutherland" l'any 1976. Posteriorment, van continuar-ne el desenvolupament 'JaM' ('John and Martin', Martin Newell) a Xerox PARC i, finalment, va ser implementat en la seva forma actual per John Warnock i altres. Va ser precisament John Warnock, juntament amb Chuck Geschke, qui van fundar Adobe Systems Incorporated (també conegut com Adobe ) l'any 1982.

El concepte de PostScript es va diferenciar, fonamentalment, per utilitzar un llenguatge de programació complet, per descriure una imatge d'impressió. Imatge que més tard seria impresa en una impressora làser o algun altre dispositiu de sortida de gran qualitat, en lloc d'una sèrie de seqüències de fugues de baix nivell (en això s'assembla a Emacs, que va explotar un concepte intern semblant, pel que fa a les tasques d'edició).

També va implementar, notablement, la composició d'imatges. Aquestes imatges es descrivien com un conjunt de:

Una de les peculiaritats de PostScript és que utilitza Reverse Polish Notation (RPN o notació polonesa inversa-com les calculadores de butxaca d'HP). En altres paraules, els paràmetres d'una comanda són donats abans que la comanda mateixa. Les comandes es separen amb espais en blanc. Utilitza operacions de pila per a processar dades i executar comandes.

Hi ha quatre piles disponibles a PostScript:

  • La pila d'operands
  • La de diccionari
  • La d'execució
  • La d'estat gràfic.

La pila d'operands conté objectes PostScript arbitraris que són els operands i resultats dels operadors PostScript que s'estan executant. Podem donar alguns exemples d'operacions aritmètiques. Per exemple,

20 30 add 10 sub

PDF és un altre llenguatge de descripció de pàgines i és derivat de PostScript, però més simple i lleuger.

PostScript també ha trobat aplicacions diferents de la impressió en paper, com és el cas de Display PostScript. DPS és una extensió de PostScript i va ser utilitzat com a sistema gràfic 2D en el sistema operatiu NEXTSTEP. Quartz, de Mac OS X, és un sistema similar que utilitza PDF.

Ghostscript és una implementació oberta d'un intèrpret compatible amb PostScript.

Un altre tipus llenguatge de descripció de pàgina per a impressores és PCL (dissenyat per HP). És més lleuger però amb menys possibilitats que PostScript.

Desenvolupament històric

PostScript Nivell 1

Ofereix suport per treballar amb objectes vectorials, amb "tipus de contorn" (un conjunt limitat de descripcions de lletres a base de traçats matemàtics), amb lineatures de semitons professionals, capacitat de generar punts de semitons de diferents formes (línia, quadrat, cercle , lipse, etc.), capacitat de gestionar fins a 256 tons de gris diferents en una impressió. Independència total del dispositiu (el que permet imprimir aprofitant al màxim la resolució d'aquest). Portabilitat entre aparells. Disponibilitat pública del codi i de la seva sintaxi (el que permet a qualsevol escriure un programa capaç de generar fitxers PostScript) i algunes coses més.

PostScript Nivell 2

PostScript Nivell 2 va ser introduït l'any 1991 incloent diverses millores com:

  • Gestió de memòria extremadament millorada
  • Major velocitat i fiabilitat
  • Capacitat per a realitzar la separació del color en el RIP (in-RIP separation)
  • Descompressió d'imatges [2]
  • Suport per tipus asiàtiques [3]
  • Suport per tipus compostes
  • Millora dels controladors d'impressora
  • Millora molt notable (encara que una mica tardana) dels algoritmes de tramat de semitons.

El nivell 2 d'PostScript encara no ha estat adoptat del tot per molts fabricants de programari i maquinari.

PostScript 3

A partir d'aquesta versió Adobe va abandonar la terminologia de nivells, passant a utilitzar la de versions. Aquesta versió va ser alliberada a finals de 1997. Les principals millores que va introduir aquesta nova versió són:

  • Ús de 12 bits per descriure les lineatures de semitò [4]
  • Control extremadament millorat de les separacions de color [5]
  • Suport del format PDF desenvolupat pel programa Acrobat
  • Gestió del color molt més avançada.
  • Noves característiques d'impressió relacionades amb les possibilitats que ofereix Internet que encara no han estat molt desenvolupades.
  • Introducció de nous filtres de compressió d'imatges com són el FlateDecode i FlateEncode i per definició de dades com ReusableStreamDecode

Dibuix de figures en PostScript

En el llenguatge PostScript es fa servir un sistema de coordenades cartesianes amb origen a la cantonada inferior esquerra de la pàgina. La unitat de mesura és el punt tipogràfic, el valor es defineix en aquest cas com la setantena segona part d'una polzada (). En el cas d'un full de tipus letter (hi ha altres mides disponibles) les dimensions són de 612 punts d'ample per 792 de llarg.

Un exemple d'una pila d'instruccions per realitzar un dibuix simple amb PostScript es detalla a continuació:

newpath

% Inicialització del cursor

100.100 moveto

% Dibuix del rectangle

300.100 lineto

300.250 lineto

100.250 lineto

100.100 lineto

stroke

  • Newpath indica que anem a dibuixar una nova figura.
  • Moveto situa el cursor per començar a dibuixar la figura. En aquest cas les coordenades són 100, 100.
  • Els diferents lineto dibuixen les línies de la figura (en aquest cas totes són línies rectes).
  • Finalment, la comanda stroke indica la realització del dibuix al intèrpret.

Òbviament, també hi ha ordre s per dibuixar línies corbes. Per exemple,

x y r a b arc

on:

  • "x" i "y", són les coordenades horitzontal i vertical del centre de l'arc circular.
  • "r", el radi de l'arc.
  • "a" i "b", l'angle entre la part positiva de l'eix horitzontal i els raigs centrals que passen a través del punt inicial i final de l'arc.

Eines d'escriptura en PostScript

PostScript té diverses tipus que s'usen com tipus estàndards per autoedició. Té també eines de creació de tipus a les quals es pot accedir definint piles de diccionari on les tipus estan disponibles. El següent programa en PostScript pot ser un exemple.

/Times-Roman findfont

15 scalefont

setfont

100.500 moveto

(I love PostScript !) show

/Times-Italic findfont

20 scalefont

setfont

100.450 moveto

(I love PostScript !) show

/Times-Bold findfont

25 scalefont

setfont

100.400 moveto

(I love PostScript !) show

showpage

Índex d'operadors

A continuació es detalla una llista que recull l'ús dels operadors més freqüents en les descripcions de Postscript.

  • Add
  • Arc
  • Begin
  • Bind
  • Clip
  • Charpath
  • Closepath
  • Curveto
  • Def
  • Div
  • Dup
  • End
  • Exch
  • Fill
  • For
  • Findfont
  • Grestore
  • Gsave
  • If
  • Ifelse
  • Index
  • Lineto
  • Moveto
  • Mul
  • Newpath
  • Pop
  • Restore
  • Rlineto
  • Rmoveto
  • Rotate
  • Save
  • Scale
  • Scalefont
  • Setfont
  • Setgray
  • Setlinewidth
  • Show
  • Showpage
  • Stroke
  • Sub
  • Translate

Referències

  1. Abans que es desenvolupés Postscript es creia que les tipografies de mapa de bits millorades manualment eren més adequades per a aquesta tasca.
  2. Per exemple, les imatges en format JPEG poden ser renderitzades per un programa PostScript.
  3. Les tipus asiàtiques necessiten, per a la correcta descripció, d'una major quantitat de bytes que les europees
  4. Aquesta característica permet superar la barrera de 256 tons i arribar fins a un degradat que contempla 4.096 tons d'un mateix color.
  5. El control millorat permet realitzar sense problemes separacions de color que superin la quadricromia convencional (hexacromia, duotono, imatges multicanal, etc ...).

Vegeu també

Enllaços externs