Mine sisu juurde

PostScript

Allikas: Vikipeedia
See artikkel vajab toimetamist. (Juuli 2006)
Palun aita artiklit toimetada. (Kuidas ja millal see markus eemaldada?)
PostScript
Faililaiend .ps
Paradigma magasinipohine, protseduraalne
Valjalaskeaeg 1982
Looja John Warnock ja Chuck Geschke
Arendaja Adobe Systems
Viimane valjalase PostScript 3 (1997)
Tuupimine dunaamiline, tugev
Implementatsioonid Adobe PostScript, TrueImage, Ghostscript, InterPress
Mojutatud keeltest Lisp
Mojutanud keeli PDF

PostScript on programmeerimiskeel graafiliste objektide (tekst, vektorina kirjeldatud objektid nagu ring, ruut, joon jms ning rastergraafika) kirjeldamiseks soltumata tulemust realiseerivast seadmest (printer, kuvar vms). Siiski on PostScript ka voimas programmeerimiskeel, millel abil tehtud ka naiteks veebiserver (http://www.pugo.org/).

PostScripti aluse pani John Warnock 1976. aastal firmas Evans and Sutherland (arvutigraafikaga tegelev ettevote). 1978 hakkas Warnock toole Xerox PARC-is koos Martin Newelliga. Koos kirjutasid nad disainimissusteemi JaM (John and Martin), mida arendati edasi ning mida tuntakse InterPressi nime all. Warnock lahkus ettevottest koos Chuck Geschkega ja rajas Adobe Systemi aastal 1982. Seal tegid nad InterPressi pohjal lihtsama keele: PostScripti, mis toodi turule 1984. Steve Jobsi pealekaimisel kohandasid nad keele laserprinterite jaoks. 1985 tuli turule esimene PostScripti toetusega laserprinter (Apple LaserWriter) ja alates sellest muutus PostScripti kasutamine laserprinterites tavaliseks. Aastaks 2001 ei olnud kuigi paljud printerid enam PostScripti toetusega, sest selle toe lisamine printerisse tuli oluliselt kallim kui prinditava lehe arvutis renderdamine. Aegamooda on PostScripti tagaplaanile surunud selle jareltulija PDF (Portable Document Format), mis tuli valja 1990. aastate alguses, kuid ei saavutanud kiiret populaarsust.

PostScripti keel on saanud kaks suurt uuendust, mida eristatakse tasanditena (ingl. level). Algne PostScript ehk PostScript Level 1 tuli valja aastal 1984. PostScript Level 2 tuli valja aastal 1991 ja selles parandati kiirust, JPEG lisamist otse PostScripti, dokumendi osade kordamist (Form mehhanism) jms. PostScript Level 3 tuli valja aastal 1997 ja selles parandati varvikasitlust, veakasitlust, programmi sisu filtreid (pakkimine, vormingute tolgendamine jms) ja programmi ulesehitust.

  • Type 1 ja Type 3 fondid pohinevad PostScriptil
  • PostScripti on kasutatud ka ekraanil (Display PostScript ehk DPS ja Network extensible Window System ehk NeWS; DPS-i sarnast susteemi kasutab Apple Mac OS X)

Programmeerimiskeelena

[muuda | muuda lahteteksti]

PostScript on pinupohine (pinu on andmestruktuur, millest loetakse esimesena viimati sisestatu) susteem. Tavaliselt kirjutavad PostScript programme teised programmid ja mitte inimene. Keelena sarnaneb PostScript keelega Forth, aga andmestruktuurid sarnanevad rohkem Lispi omadega. Keeles on hulk operaatoreid, millest enamus on pinu sisu muutmiseks. Iga operaator vajab pinus kindlat hulka ja kindla andmetuubiga kirjeid ning jatab pinusse kindla arvu kindlat tuupi elemente. Reavahetus ei oma PostScriptis tahtsust, tuhik ja reavahetus on samavaarsed. Puudub lause algus ja lopp, koike kasitletakse uhe jadana. Tekstilise vaartuse puhul reavahetust ikkagi arvestatakse.

Programminaide aritmeetilise tehte (1 + 2) * (9-8) naol:

1 2 add 9 8 sub mul

Toimuvad jargmised sammud:

  1. Pinusse pannakse 1;
  2. Pinusse pannakse 2;
  3. Operaator add loeb pinust 2 uhikut (1 ja 2) ning jatab tulemuse 3 pinusse;
  4. Pinusse lisatakse 9;
  5. Pinusse lisatakse 8;
  6. Operaator sub loeb 2 arvu pinust (9, 8), lahutab need ning jatab tulemuse 1 pinusse;
  7. Operaator mul loeb 2 arvu pinust (3 ja 1, mille jatsid eelnevad operaatorid) ja korrutab need.

Programmi loppedes on pinus arv 3.

Kommentaare saab lisada protsendiga, kommentaar kestab rea lopuni.

Muutujat saab defineerida operaatoriga def:

/x 123 def % defineeritakse muutuja x vaartusega 123
/x 1 2 add def % defineeritakse muutuja x vaartusega 3
/y x 3 add def % kasutades muutujat x defineeritakse muutuja y vaartusega 6

Kaldkriipsu kasutatakse literaadina. Muutuja kasutamisel kaldkriipsu lisada ei tule.

Operaatoriga saab luua tsukleid, esitada tingimusi, defineerida operatsioone korduvkasutuseks (nagu funktsioonid), teostada graafilisi operatsioone, muuta pinu sisu (elemente umber reastada, kustutada, paljundada) ja palju muud.

"Hello world" programm

[muuda | muuda lahteteksti]

PostScripti vorming eeldab faili alguses huuumargiga algavat kommentaari. Tekstvaartusi valjendatakse sulgudega. Standardvaljundisse kirjutatakse pinus olev vordusmargi abil:

%!
(Hello world) =

Valjundisse minev programm:

%!
/Times-Roman findfont 15 scalefont setfont
72 200 moveto
(Hello world) show
showpage

Interpretaatorid

[muuda | muuda lahteteksti]

PostScripti suudavad interpreteerida GhostScript, Acrobat Distiller.

Naiteks GhostScript Linuxi kasureal:

$ gs
ESP Ghostscript 815.01 (2005-09-22)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS>4 5 mul
GS<1>6
GS<2>mul
GS<1>=
120
GS>quit
$

GhostScripti kasureal on naha pinus olevate elementide arv.

GhostScripti koosseisu kuulub ka PostScripti PDF-iks teisendamise programm, GhostView (gv) ja palju muud.

Valislingid

[muuda | muuda lahteteksti]

Adobe ullitatud raamatud (keelega alustajatel soovitatakse raamatutega just selles jarjekorras tutvust teha):

  • "The Blue Book" tutvustus ja kasutusnaited (Tutorial and Cookbook)
  • "The Green Book" sugavamalt keelt lahkav raamat (PostScript Language Program Design)
  • "The Red Book" keele spetsifikatsioon (PostScript Language Reference, third edition)

Teised raamatud:

Saidid: