PostScript

PostScript (PS) er et programmeringsspråk som opprinnelig hadde til oppgave å gi instruksjoner til hvordan en side skal se ut ved utskrift fra en printer, men som med tiden omfatter langt mer. Det ble oppfunnet av Adobe Systems ved John Warnock, Charles Geschke, Doug Brotz, Ed Taft og Bill Paxton i 1982, basert på tidligere arbeid fra Xerox. PostScript er datamaskinspråk som regulerer beskrivelsen av en side og fungerer som et bindeledd mellom datamaskinen (tekstbehandler eller grafikkproduserende program) og utskriftsenheten. PostScript skaper en side med tekst og grafikk ved å bygge opp siden i minnet og deretter sende det til utskrift. Bilder bygges opp i et todimensjonelt koordinatsystem, og kan derfor også utsettes for koordinatbytte, de kan forstørres, forminskes, roteres og lignende. For å øke utskriftshastigheten ligger en del faste postscriptfonter lagret i skriveren.

PostScript har blitt standard og lisensieres av en rekke selskap. Det finnes imidlertid andre sidebeskrivelsesspråk som skriverprodusenten Hewlett-Packards PCL (Printer Command Language) og Xerox' InterPress, men disse har ikke blitt standard. PostScript er uavhengig av oppløsning, og får nøyaktig den oppløsning på utskriften som maskinvaren i printeren er i stand til å levere. At PostsScript er standardisert betyr at en jobb kan sendes til ulik maskinvare uavhengig av produsent, og samme resultat vil kunne forventes.

Historie 
Konseptet med et PostScript-språk hadde sin opprinnelse tilbake til 1976 da John Warnock arbeidet hos Evans & Sutherland, et selskap som drev med databasert grafikk. På den tiden utviklet Warnock en fortolker for et stort tredimensjonale grafikkdatabase i New Yorks havn. Warnock kom opp med et Design System-språk for å prosessere grafikken.

På samme tid hadde forskere ved Xerox' forskningssenter PARC utviklet den første laserprinter og forstått behovet for en standard for definere bilder på en side. I 1975-1976 utviklet Bob Sproull og William Newman Press-formatet som til sist ble benyttet i arbeidsstasjonen Xerox Star for å kjøre laserprintere. Men Press var mer et dataformat enn et dataspråk, og manglet fleksibilitet, og PARC satte i gang med å skape en etterfølger.

I 1978 spurte Evans og Sutherland om Warnock kunne flytte fra San Francisco Bay Area og til deres hovedkvarter i Utah, men han var ikke interessert i å flytte. Han ble isteden ansatt ved Xerox PARC for å arbeide sammen med Martin Newell. De skrev om Design System for å skape JaM (sammentrekning av «John & Martin») som ble benyttet for VLSI-design (integrert kretser eller mikrobrikker) og undersøkte trykking av skrifttyper og grafikk. Dette arbeidet utviklet og ekspanderte til Interpress-språket.

Warnock forlot PARC sammen med Chuck Geschke og grunnla Adobe Systems i desember 1982. Sammen med Doug Brotz, Ed Taft og Bill Paxton skrev de et enkelt språk, ganske likt Interpress, som de kalte for PostScript. Det kom i salg i 1984. På omtrent denne tiden fikk de besøk av Steve Jobs, som så muligheten i språket og oppfordret dem til å tilpasse PostScript som dataspråk for å instruere og drive laserprintere.

I mars 1985 ble Apple LaserWriter den første printeren som hadde innebygget PostScript-fortolker, noe som satte i gang det som på denne tiden ble kalt for desktop publishing (DTP) og ble en revolusjon på midten av 1980-tallet. Kombinasjonen av teknisk fortreffelighet og utstrakt tilgjengelighet gjorde PostScript til førstevalget for å skrive ut fra grafiske programmer. En PostScript-fortolker (tidvis referert til som RIP = Raster Image Processor) var en vanlig komponent for laserprintere til langt inn på 1990-tallet.

Imidlertid var kostnadene med gjennomføring høye; computernes produksjon av rå PostScript-kode ble tolket av printeren til et rasterbilde i printerens mulige oppløsning var krevet mikroprosessorer med høy ytelse og rikelig med dataminne, og selv da kunne den enkelte utskriften være svært tidkrevende dersom tekst og grafikk på siden var komplisert. LaserWriter benyttet en 12 MHz Motorola 68000, noe som gjorde den raskere enn noen av de Apple Macintosh-computere som den var tilknyttet. Da maskinvaren i laserprinteren i seg selv kostet over  dollar, var kostnadene med å lisensiere PostScript-fortolkeren fra Adobe minimale, men etterhvert falt maskinvaren i printerne i pris, og da ble PostScript-fortolkeren en betydelig andel av de totale kostnadene ved printeren. Samtidig ble datamaskiner med grafisk programvare stadig kraftigere og mer fleksible, og det ga ingen mening å oversvømme printeren med ressurskrevende prosesser med rasterisering. Både Microsoft og Apple gikk inn i et samarbeid for å erstatte PostScript med et eget system for både utskrift og for skalerebare skrifttyper, særlig for unngå kostbar lisensiering til Adobe. Det førte til at Adobe senket prisene betydelig og inngikk samarbeidsavtaler med Microsoft og Apple.

2001 var det få prisvennlige printer som ble solgt med støtte for PostScript, hovedsakelig grunnet voksende konkurranse fra langt billigere blekkskrivere uten PostScript og med nye programvaremetoder som oversetter grafikkfiler på selve PC-en, noe som gjorde det mulig å skrive til hvilken som helst printer med det samme resultat enten den hadde innebygget PostScript-fortolker eller ikke. Adobes eget digitale format PDF (Portable Document Format), som i seg selv består av en avansert videreutvikling av PostScript-språket, ga en slik metode og har bidratt i stor grad å erstatte PostScript som de facto standard for elektronisk dokumentdistribusjon.

På avanserte og kostbare printere er derimot egne PostScript-prosessorer fortsatt vanlig, og deres bruk kan dramatisk redusere CPU-arbeidet som er involvert i å trykke komplekse dokumenter, og hvor arbeidet med gjengi PostScript-bilder er overført fra computeren og til printeren, selv ved trykking fra PDF-dokumenter.

Utviklingen av PostScript 
Etter at PostScript ble levert med den første LaserWriter på 1980-tallet har det ikke endret seg større. Det er i seg selv tungt å prosessere, men maskinvaren har økt kraftig med tiden og det har tildels ikke vært behov for å effektivisere språket for igjen effektivisere prosesseringen. Det har kommet tre versjoner siden den første utgaven, og særlig siste er hovedsakelig utvidelser for takle bedre fargebehandling, først og fremst for avansert trykking.

PostScript Level 1 
Den første versjonen av PostScript-språket ble sendt ut på markedet i 1984. Begrepet «Level 1» ble først lagt til da Level 2 ble introdusert. Første versjon inneholdt alle de grunnleggende elementer med språket.

PostScript Level 2 
PostScript Level 2 ble introdusert i 1991 og omfattet flere forbedringer: forbedret hastighet og pålitelighet, støtte for in-RIP-seperasjoner, dekomprimeringer av bilder (eksempelvis at JPEG-bilder kunne bli tolket av et PostScript-program), støtte for sammensatte fonter (skrifttyper), og formmekanisme for å bufre (lagre i minne) innhold som gjenbrukes.

PostScript 3 
PostScript 3 (Adobe sluttet med terminologien «level» («nivå») for enklere nummerering av versjonene) kom ved slutten av 1997. Det introduserte bedre og mer kompleks fargehåndtering, nye filtre (som gjorde komprimeringer og dekomprimeringer), og avansert feilhåndtering (tidligere utgaver kunne få feil som gjorde at siden ikke ble fortolket, men isteden sprøytet ut ren tekstbasert kode)

PostScript 3 var betydningsfullt i henhold til å erstatte tidligere proprietær elektroniske prepress-systemer for fargehåndtering i printere, i stor grad benyttet for magasinproduksjon. Denne versjonen kom med glatt og jevn operasjoner for farge og tonelegging med opp til 4096 grader av grå (i motsetning til 256 tilgjengelig i PostScript Level 2). Dessuten DeviceN, et «fargerom» som gjør det mulig å benytte rene farger («blekkfarger»/«spot colors») i sider med sammensatte farger.

Trykkeprosessen

Før PostScript 
Før PostScript ble innført var printere konstruert for å skrive ut bokstaver og skrifttegn som ble sendt til den som tekst, ASCII. Det var et antall teknologier for denne oppgaven, men de fleste delte egenskapen at ideogrammer var fysisk vanskelig å endre da de var stemplet i skrivemaskinen eller tastaturets taster, metallbånd eller optiske plater. Grunnet begrensningen i ASCII-tabellens tegnoppsett var det særskilt vanskelig for de nordiske landene å få særnordiske tegn som ØÆÅ ut på printeren uten egne tillegg.

Dette endret seg til en viss grad med den økende populariteten til matriseskriver (nåleskriver). Tegnene på disse systemene ble tegnet opp som en rekke av prikker, definert i en tegntabell innebygget i printeren. Da de ble forbedret begynte matriseskrivere å inkludere flere innebygde fonter som brukeren kunne velge fra, og en del modeller tillot at brukerne lastet opp deres egne egendefinert ideogrammer til printeren.

Matriseskriveren innførte også muligheten å printe rastergrafikk. Grafikken var tolket av PC-en og sendt til printeren som en rekke av prikker som printeren benyttet som en serie av hva som på engelsk kalles «escape sequences. Disse enkle språkene for å kontrollere printeren varierte fra det ene merket og fabrikanten til den andre, noe som krevde egne programmer for de ulike printerne.

For å printe vektorgrafikk måtte det benyttes egne særskilte printere kalt for plottere. Bortimot alle plottere delte et felles kommandospråk, HPGL, men disse kunne ikke gjøre noe annet enn kun å printe grafikk. I tillegg var de kostbare og langsomme, og derfor sjeldne.

Printing med PostScript 
Laserprintere kombinerte de beste trekkene til både matriseskrivere og plottere. Som plottere kunne laserprintere tilby strekgrafikk i høy kvalitet og som matriseskrivere kunne de frambringe sider med både tekst og rastergrafikk. I motsetning til både matriseskrivere og plottere gjorde laserprinteren det mulig å plassere grafikk og tekst på samme side. PostScript gjorde det mulig å utnytte disse mulighetene ved å tilby et enkelt språk som kontrollerte printeren, uansett hvilken merke eller maskinvare printeren var.

 
PostScript gikk hinsides kontrollspråk for printeren og var en komplett programmeringsspråk i egen rett. Mange dataprogrammer kan omforme et dokument til et PostScript-program som ved å bli utført vil resultere i det opprinnelige dokumentet. Dette programmet kan bli sendt til en PostScript-fortolker i en printer som resulterte i et trykt dokument, eller til et i et annet dataprogram som vil vise dokumentet på dataskjermen. Ettersom dokument-programmet er det samme uansett hvor det blir sendt, enten det er til en hvilken som hels printer eller til et annet program, kalles det på engelsk for device-independent, det vil si uavhengig av anordning.

PostScript er bemerkelsesverdig for å innføre direkte rasterisering; alt, selv tekst, er spesifisert i henhold til rette linjer og kubiske bézierkurver, tidligere benyttet kun i dataprogrammer for teknisk tegning (CAD), som tillot vilkårlig skalering, rotering og andre omforminger av objektet. Da PostScript-programmet er tolket, konverterer fortolkeren disse instruksjoner til de prikker som trengs for danne siden på printeren. Av denne grunne er PostScript-fortolkere tidvis kalt for PostScript Raster Image Processors, forkortet til RIP.

Fonthåndtering 
Før fonter benyttet PostScript-teknologien til å framstille skalerbare og vektoriserte fonter (skrifter) var de raster- eller bitmapbaserte, noe som krevde et sett med fonter for hver skriftstørrelse; en for 11 punkter, en for 12 punker og videre. Det var ressurskrevende, mens man med PostScript-fonter trengte kun et sett som deretter kunne skaleres til alle størrelser. PostScript-fonter var åpenbart teknologisk overlegen.

Bortimot like kompleks som PostScript er i seg selv er dens håndtering av fonter. Fontsystemet benytter PostScripts grafiske primitiver til å tegne ideogrammer som strektegninger som deretter kan bli fortolket og gjengitt i hvilken som helst oppløsning. Forenklet er opplegget enkelt, men det er en rekke typografiske enkeltheter som må behandles.

Fonter skalerer linjert i mindre størrelser; trekk ved ideogrammer vil bli proporsjonalt for store eller små, og deretter se feil ut. Fonter kan ikke bli skalert uten at trekk som tykk og tynn og andre finere detaljer blir inkonsekvent, særlig ved små størrelser hvor det er for få rasterkorn igjen til å tegne opp bokstaven korrekt. PostScript unngår dette problemet ved å inkludere instruksjoner («hint») som kan bli lagret sammen med skrifttypens omriss («outline»). Grunnleggende er det tilleggsinformasjon i de horisontale eller vertikale sammenbindingene i skriften som bidrar til å hjelpe til med å identifisere trekk for hver bokstav som er viktig for rasteriseringen å opprettholde. Resultatet var en font av betydelig bedre utseende selv ved lav oppløselighet; det hadde tidligere blitt antatt at bitmap-fonter som var bearbeidet for hånd var nødvendig for denne oppgaven.

På samme tid ble teknologien for å inkludere disse instruksjonene («hint») i fontene blitt omsorgsfullt voktet, og fonter med hinter ble komprimert og kryptert til hva Adobe kalte for en Type 1 Font (også kjent som PostScript Type 1 Font, PS1, T1 eller Adobe Type 1). Type 1 var effektivt en forenkling av PostScript-systemet for å lagre utelukkende omrissinformasjon, i motsetning til et fullstendig språk (PDF er lignende i dette anseelse). Adobe ville deretter selge lisenser av Type 1-teknologien til de som ønsket å legge til hinter i sine egne fonter. Disse vil dog ikke lisensiere teknologien som var etterlatt med Type 3 Font (også kjent som PostScript Type 3 Font, PS3 eller T3). Type 3- fonter tillater for hele raffinementet i PostScript-språket, men uten den standardiserte tilnærmingen til hinting. Mens spesifikasjonene til PostScript-språket var åpent og alle kunne lisensiere en fortolker for å bygge en PostScript-printer, holdt Adobe på hemmelighetene til de overlegne PostScript Type 1-fontene, noe som gjorde Adobe til en eneste kilde for å lisensiere fonter av ypperste kvalitet.

Type 2-fontformatet var designet for å bli benyttet med bokstavstrenger for CFF (Compact Font Format), som var tapsløs sammenpressing av Type 1-formatet, og ble innført for å redusere fontfilenes størrelser. Formatet CFF/Type 2 ble senere grunnlaget for å håndtere PostScripts omrisstegning i OpenType-fonter.

Ved å sitte på teknologien og med en monopolsituasjon kunne Adobe skrue opp avgiftene til lisensiering til det ytterste av hva selskapet mente markedet kunne akseptere. Det førte til at rekke selskaper arbeidet på å knekke krypteringen av Type 1-formatet, og to ellers uforsonlige fiender som Apple og Microsoft, som begge var avhengig av Adobe, opprettet en allianse for å skape en alternativ PostScript-teknologi. Apple framstilte deres eget fontsystem, kalt TrueType, i tiden rundt 1991. Dette produktet ble inkorporert og benyttet i både Mac OS System 7 og Windows 3.1. Adobe forsøkte å selge en egen fontmotor for begge operativsystem for Type 1-fonter. De to konkurrerende font-standardene førte til intens rivalisering, inkompatibilitet, og samtidig til en spredning av amatørtegnede fonter, og strid over lojaliteten til design- og formgivningssamfunnet (forlag, reklame, trykkeri). Disse hendelsene ble kjent som «fontkrigen».

Etter at TrueType var et faktum på både Apple- og Windows-maskiner innså Adobe at de holdt på å tape fontkrigen. Selskapet publiserte spesifikasjonene på Type 1-formatet. Programvare for å framstille egne fonter, slik som Altsys Fontographer (oppkjøpt av Macromedia i januar 1995, eid av FontLab siden mai 2005) la til muligheten å framstille Type 1-fonter. Siden da har mange frie Type 1-fonter blitt utgitt; eksempelvis er fontene som benyttes ved TeX. Tidlig på 1990-tallet var det flere andre systemer for å benytte vektoriserte fonter, eksempelvis Bitstream og METAFONT, men ingen av disse hadde en generell printerløsning og var derfor ikke utbredt.

På slutten av 1990-tallet gikk Adobe sammen med Microsoft i å utvikle OpenType, i all vesentlighet en funksjonell sammenstilling av Type 1 og TrueType. Når en utskrift ble sendt til en PostScript-skriver, ble de unødvendige delene av OpenType-fonten utelatt, og hva som er sendt er det samme som det ville ha vært for både en TrueType og en Type 1-font, avhengig av hvilke former for omrisstegning som er tilstede i OpenType-fonten. OpenType la til mange intrikate datastrukturer for å beskrive typografisk oppførsel og fleksibilitet, i tillegg til håndtering av de mange internasjonale særegenheter i verdens skrivesystemer.

Andre iverksettelser 
På 1980-tallet var den største andelen av Adobes inntekter fra lisensinntekter fra PostScript-fortolkeren i printerne, kjent som en prosesser for rastering, eller en RIP. Et antall nye RISC-baserte plattformer ble tilgjengelige på midten av 1980-tallet, og Adobe ga liten støtte for de nye maskinene.

Den manglende støtten og de store lisenskostnadene, førte til at teknologiske løsninger fra tredjepartsleverandører ble vanlige, særlig for billige printere (hvor lisenskostnadene var avgjørende) eller i eksklusive og kostbare sats- og trykkeriutstyr (hvor behovet for hastighet krevde støtte for nye plattformer langt raskere enn hva Adobe var i stand til å levere). Ved et tidspunkt ble situasjonen såpass påtrengende at Microsoft og Apple gikk sammen om å skaffe et alternativ til Adobes monopol. Microsoft kjøpte TrueImage, en PostScript-kompatibel fortolker, i 1989, utviklet det videre til et produkt som var både var mer moderne og mer effektivt enn det eldre PostScript. Microsoft lisensierte TrueImage til Apple, og Apple lisensierte til Microsoft sitt nye fontformat TrueType. Adobe bøyde, og kun måneder etter at Apple annonserte TrueImage som fortolker i sine laserprintere, kom det en ny avtale med Adobe. Både Apple og Microsoft hadde ikke lenger behov for å presse videre med TrueImage, som ble lagt på is, mens TrueType ble standard teknologi for skalerbare vektorfonter for både Windows og Macintosh.

Per begynnelsen av 2010-tallet er PostScript-kompatible fortolkere fra tredjepartsleverandører i utstrakt bruk i printere og andre enheter. Eksempelvis PS3-fortolkeren fra britiske CSR plc, tidligere kjent som PhoenixPage, er blitt en standard i mange printere, også for de som er utviklet av Hewlett-Packard og solgt som LaserJet og Color LaserJet. Andre tredjepartsløsninger benyttet for printing er Jaws og Harlequin RIP, begge fra Global Graphics. Det mest kjente, grunnet at det er fri programvare med flere andre applikasjoner, er Ghostscript. Det er også en rekke andre. PostScript-klonene hevder alle at de 100 prosent PostScript-kompatible, men det er særlig i håndteringen av fonter hvor problemer begynner, og har ført til at klonene har utviklet et stort sett av ekstra PostScript-kommandoer, som ikke benyttes av Adobe og som er udokumenterte, for å kontrollere maskinvaren.

En del basiske og billige laserprintere støtter ikke PostScript, men kommer isteden med drivere som ganske enkelt rasteriserer dataplattformens egne grafikkformater framfor å konvertere dem til PostScript først. Når støtte for PostScript er nødvendig for en slik printer kan Ghostscript bli benyttet isteden. Ghostscript kan trykke PostScript-dokumenter på printere som ikke har innebygget PostScript ved å benytte CPU på datamaskinen for å gjøre rasteriseringen og deretter sende resultatet som en enkelt stor rasterfil til printeren. Ghostscript kan også bli benyttet for forhåndsvise PostScript-dokumenter på datamaskinens skjerm og å konvertere PostScript-sider til rastergrafikk som TIFF eller PNG, og vektorformater som PDF. Det er antall kommersielle PostScript-fortolkere også, slike som blant annet TeleType Cos T-Script.

I den andre enden av billig utstyr finnes meget kostbare og avanserte enheter, slike som fotosettere eller CTP-baserte platesettere med oppløsning som er større enn 2500 dpi. Slike krever ekstern RIP med store mengder med dataminne og harddiskplass. Komplekse og kostbare laserprintere, som eksempelvis digitale trykkerier, benytter også ekstern RIP for å skille computere fra spesialisert trykkerimaskinvare. Selskaper som EFI og Xitron har spesialisert med slik RIP-programvare.

PostScript som dataspråk 
PostScript er et Turingkomplett programmeringsspråk, et begrep som ble fremmet av den britiske matematikeren Alan Turing (1912–1954), i den forstand at det kan utføre de operasjoner som trengs for å kunne beregne alle beregningsbare problem som finnes innenfor det særskilte feltet. Typisk sett er PostScript-programmer ikke framstilt av mennesker, men av andre programmer. Det er dog mulig å skrive dataprogrammer i PostScript som med et hvilket som helst annet programmeringsspråk.

PostScript er et fortolket, stackbasert språk tilsvarende Forth, men med sterk, dynamisk maskinskriving (typesystem), datastrukturer inspirert av de som er funnet i Lisp, skopisk minne og siden Level 2, søppelsamling (som er en automatisk dynamisk håndteringsmetode av dataminne). Språksyntaksen benytter omvendt polsk notasjon, som gjør at operasjonenes orden er utvetydig, men å lese et program krever da en del øvelse. De fleste operasjoner (det som andre språk kaller funksjoner) tar sine argumenter fra stakken (datastrukturen) og plasserer resultater i stakken. Komplekse datastrukturer kan bli bygget inn i orden, men kan ikke bli erklært i typesystemet som ser dem alle som oppstillinger og ordlister.

Tegnet eller bokstaven «%» er benyttet for å intrudsere kommentarer i PostScript-programmer. Som en generell konvensjon skal alle PostScript-program begynne med bokstavkombinasjonen «%!» slik at alle enheter som leser programmet vil korrekt forstå det som PostScript.

«Hallo, verden!»

Et «Hallo, verden!»-program, en vanlig måte å vise et lite eksempel på et komplett program i et gitt programmeringsspråk, vil kunne se slik ut i PostScript (level 2):

 %!PS
 /Courier             % navngi den ønskede fonten
 20 selectfont        % velg skriftstørrelse i punkt og klargjør fonten til bruk.
 72 500 moveto        % plassér utskriftspunktet til koordinatene 72, 500
                      % (Nullpunktet ligger nederst til venstre på siden)
 (Hallo, verden!) show  % fyll inn teksten mellom parentesene
 showpage             % skriv ut hele siden

eller om utgående enhet har et Postscript-kompatibelt skjermkort, som for eksempel NeXTcube:

 %!PS
 (Hallo, verden!) =

Lengdeenheter 

PostScript benytter den typografiske punkt som enhet for lengde. For en del andre versjoner av punkt benytter PostScript nøyaktig 72 punkter til én tomme (inch), slik at:

 

For eksempelvis å tegne en vertikal linje på 4 cm, er det nok å skrive:

 0 0 moveto 
 0 113.385827 lineto stroke

Man kan også benytte følgende tilsvarende, som demonstrerer en enkel prosedyrefunksjon og bruken av matematiske operatører mul og div:

 /mm { 360 mul 127 div } def
 0 0 moveto
 0 40 mm lineto stroke

Referanser

Litteratur 
 PostScript FAQ, WikiBooks
 PostScript Language Reference (PDF) (3. utg.), Adobe (PLR3), pluss dets tillegg, er den de facto endelige boken, kjent som "Den røde bok". Første utgave dekket PostScript Level 1, andre utgave dekket det utvidete språket kjent som PostScript Level 2, og inkluderer dokumentasjon for Display PostScript (DPS) også. Tredje utgave dekker PostScript 3, men ikke DPS.
 PostScript Language Tutorial and Cookbook (Zip), Adobes korresponderende introduksjonstekst, kjent som «Den blå bok» (grunnet fargen på omslaget).
 PostScript language program design (Zip), Adobes «Den grønne bok».
 PostScript vs. PDF, Adobes offisielle introduserende sammenligning mellom PS, EPS og PDF.
 The Type 1 Font Format (PDF), Adobe.
 A First Guide to PostScript, Tail recursive
 Casselman, William ‘Bill’: Mathematical Illustrations: A Manual of Geometry and PostScript (bok), CA: UBC.
 Casselman, William ‘Bill’: Mathematical Illustrations: A Manual of Geometry and PostScript (PDF) (bok).
 Reid, Glenn (1990): Thinking in PostScript (PDF), CO, USA: Addison-Wesley — en omfattende lærebok tilgjengelig online ved forfatteren.

Eksterne lenker 
 

Programmeringsspråk
Sidebeskrivelsespråk
Adobe
PostScript