postscriptum | |
---|---|
Clasa de limba | multi- paradigma , bazată pe stivă , procedurală |
Aparut in | 1982 |
Autor | John Warnock , Charles Geschke |
Dezvoltator | Chirpici |
Extensie de fișier | .ps |
Eliberare | PostScript 3 (1997) |
Tip sistem | strict , dinamic |
Implementări majore | Adobe PostScript, TrueImage, Ghostscript , InterPress |
A fost influențat | Mai departe |
influențat | PDF , PostScript încapsulat |
PostScript este un limbaj de descriere a paginii utilizat în principal în desktop publishing .
Postscript a fost dezvoltat de John Warnock și Chuck Geschke de la Adobe Systems la începutul anilor 1980 . Postscript a fost folosit inițial ca nucleu al motorului de imprimare al computerului Apple , dar a devenit curând răspândit pe majoritatea sistemelor informatice. Interpreții postscript (sub formă de componente software sau hardware) pentru tipărirea documentelor sunt prezenți în aproape toate sistemele informatice moderne.
Postscript folosește un model de afișare a textului (sau a imaginilor) pe o pagină goală. Când pagina este gata, este tipărită și începe „desenul” imaginii paginii următoare. Nu este altceva decât o metodă de compilare. Fiecare document Postscript este de obicei un program care tipărește ( sau afișează pe un ecran de monitor ) pagini consecutive.
Limbajul PostScript a fost conceput în 1976 de John Warnock de la Evans și Sutherland Computer Corporation .. Colegul său John Gaffney , care era atunci interpretul pentru marea bază de date grafică 3D New York Harbor , a creat limbajul Design System (foarte similar cu Forth ). Mai târziu, John Warnock s-a mutat la centrul de cercetare Xerox PARC din Palo Alto și în 1978, împreună cu Martin Newella creat un nou sistem JaM (John și Martin) bazat pe Design System, folosit în cercetarea tipăririi și ulterior dezvoltat în InterPress- Protocol de imprimare Xerox .
În 1982, John Warnock a părăsit Xerox și a fondat Adobe Systems Inc. împreună cu Chuck Geschke . Inițial, scopul lor a fost să creeze o stație de imprimare specializată, care urma să se numească PostScript, dar în curând și-au dat seama că este mai bine să-și concentreze eforturile pe dezvoltarea de instrumente pentru gestionarea imprimantelor terțe.
În 1984, PostScript a văzut lumina zilei ( Nivelul 1 a fost adăugat mai târziu la nume pentru a-l deosebi de Nivelul 2). Postscript a avut o serie de avantaje față de alte sisteme ale vremii:
Adobe și-a asumat un risc cu PostScript și este posibil să nu fi putut convinge piața de necesitatea unui astfel de limbaj dacă nu pentru Steve Jobs de la Apple Computer . În 1985, vânzările de computere Macintosh au început să scadă, iar Apple avea nevoie de o „aplicație ucigașă” - ceva ce numai computerul său ar putea face. Steve Jobs a investit 2,5 milioane de dolari în Adobe, care a creat un controler PostScript pentru imprimanta Apple LaserWriter , și în Aldus , care a creat PageMaker , care a profitat din plin de Macintosh și LaserWriter. Apariția prepressului pe computer a salvat apoi Apple și a transformat Adobe și Aldus în companii mari. Alți fotocompozitori, începând cu Linotype , au apreciat PostScript și în curând și-au echipat fotocompozitorii cu interpreți PostScript. PostScript a devenit standardul în prepressă.
În 1991 , Adobe a lansat următoarea revizuire a PostScriptului, PostScript Level 2. Aceasta a fost o revizuire semnificativă, mult așteptată de comunitatea editorilor. Principalele îmbunătățiri au fost:
Adobe a făcut greșeala de a lansa specificațiile PostScript Level 2 înainte de a începe lucrul la implementarea hardware-ului. Concurenții au intrat în mod neașteptat pe piață cu emulatoare PostScript Level 2 înaintea lui Adobe. Ca rezultat, a durat foarte mult timp pentru ca aplicațiile să înceapă să utilizeze toate noile funcții PostScript de nivel 2.
În 1998, Adobe a introdus noul standard PostScript 3. Modificările de la nivelul 2 sunt minore. Acest lucru este de înțeles având în vedere că multe aplicații încă nu pot suporta pe deplin PostScript Nivelul 2. Principalele beneficii ale PostScript 3 sunt:
La fel ca plotterele, PostScript oferă ieșire grafică vectorială de înaltă calitate și un singur limbaj de control care poate fi folosit de orice producător de imprimante. La fel ca imprimantele cu matrice de puncte, PostScript oferă opțiuni convenabile pentru imprimarea graficelor și textului bitmap. Spre deosebire de ambele, PostScript poate combina toate aceste tipuri de ieșiri pe o singură pagină, oferindu-vă mult mai multă flexibilitate decât orice imprimantă sau plotter avea înainte.
PostScript este mai mult decât un limbaj obișnuit de control al imprimantei, este un limbaj de programare complet cu caracteristici. Multe programe de aplicație pot converti un document într-un program PostScript care va produce documentul original atunci când este executat. Acest program poate fi trimis direct la o imprimantă compatibilă cu PostScript sau convertit de un interpret PostScript într-un alt format (pentru imprimante non-PostScript), sau rezultatul executării lui de către interpret poate fi afișat pe ecran. Deoarece programul PostScript original este același, PostScript este numit independent de dispozitiv .
Cele mai multe imprimante și plotere de înaltă performanță au un interpret PostScript încorporat . În același timp, imprimantele simple de tip home-class acceptă numai operațiuni grafice elementare, astfel încât sarcina de a crea o imagine bitmap este atribuită unității centrale de procesare . Există interpreți în limbaj PostScript pentru diferite sisteme de operare , dintre care cel mai cunoscut este programul gratuit Ghostscript .
Există o versiune comercială a sistemului TeX - BaKoMa TeX, scrisă de programatorul sovietic și rus V. Malyshev în întregime în PostScript.
PostScript este un limbaj de programare complet Turing . Deși programele PostScript sunt create în principal nu de oameni, ci de alte programe, în principiu, nimic nu împiedică scrierea programelor pe el [1] pentru calcularea graficelor, implementarea metodelor numerice pentru rezolvarea problemelor matematice etc.
PostScript este un limbaj de stivă interpretat similar cu Forth . Sintaxa limbajului folosește notația poloneză inversă , ceea ce face ca utilizarea parantezelor să fie inutilă, dar necesită o anumită practică pentru a citi textul programului din cauza necesității de a păstra în minte conținutul stivei. Majoritatea operatorilor preiau operanzi din stivă și împing rezultatul calculului în stivă. Literale (șiruri și numere) împing o copie a lor în stivă.
PostScript desenează folosind un sistem de coordonate dreptunghiular bidimensional , a cărui origine este în colțul din stânga jos al paginii ; axa x - implicită este orizontală (adică lățimea paginii), axa y este verticală. Unitatea de măsură pentru coordonatele liniare este punctul tipografic . Cu ajutorul operatorilor de limbă [6, pp. 517-518] originea sistemului de coordonate poate fi mutată în orice punct (operator translate), iar sistemul în sine poate fi rotit la un unghi arbitrar în planul paginii (operator rotate); scalescara de-a lungul fiecăreia dintre cele două axe poate fi modificată și cu ajutorul operatorului . De exemplu, ieșirea imaginii „oglindă” pe film (așa-numita „ Emulsion down ”) în imprimantele PostScript este realizată folosind un singur operator scalecare setează o scară negativă de-a lungul uneia dintre axele sistemului de coordonate: de exemplu, -1.0 1.0 scale.
PostScript are caracteristicile unui metafișier, combinând suportul atât pentru imagini vectoriale, cât și pentru imagini bitmap. Fonturile din PostScript sunt doar vectoriale. Puțin depărtate sunt așa-numitele. Fonturi Type3 în care orice procedură formulată în termenii limbajului PostScript poate fi folosită pentru a desena glife (procedură ) [6, pp. 337-342]. De la lansarea SP4 pentru Windows NT 4.0 în 1998 (vezi și http://support.microsoft.com/gp/lifesupsps ) cu Adobe Type Manager 4.0 și driverul AdobePS 5 instalat pe sistem , toate fonturile sunt în non - roman codificarea, în special caracterele chirilice au fost încărcate într-un fișier PostScript sub formă de fonturi Type3 , unde fiecare glif a fost reprezentat ca o imagine bitmap cu rezoluția corespunzătoare. Descărcarea fontului ca bitmap a creat o mulțime de probleme în pregătirea pentru fotocompunere și prepresare în general. Această eroare a fost remediată în AdobePS 5.1 și Adobe Type Manager 4.1 , care au fost apoi incluse în distribuția Windows 2000 . /BuildGlyph
Structura unui fișier PostScript este formată din comentarii structurale. Comentariile structurale încep cu o secvență de caractere „ %%” la începutul unei linii.
Un fișier PostScript este format din patru părți: antet, prolog, corp și epilog.
Titlul începe cu linia " %!PS-Adobe-N.M" unde NM este versiunea specificației, urmată de comentarii structurale cu proprietăți generale ale documentului, iar antetul se termină cu linia " %%EndComments".
%!PS-Adobe-2.0 %%Creator: dvips(k) 5.78 Copyright 1998 Radical Eye Software %%Title: rep.dvi %%Pages: 9%%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%EndCommentsPrologul conține de obicei descrieri de subrutine și date necesare pentru tipărirea documentului, cum ar fi proceduri și fonturi. Prologul se încheie cu comentariul " %%EndProlog".
Corpul programului conține comenzi responsabile pentru redarea fiecărei pagini, precedate de șirul „ %%Page: <метка> <номер>”, unde <label> este eticheta paginii care nu este tipărită și <number> este numărul de serie al paginii din fișier, de exemplu,%%Page: iii 3
După comenzile pentru redarea tuturor paginilor, există un comentariu structural „ %%Trailer”, după care începe epilogul.
În epilog, puteți duplica comentariile din antet (acest lucru este implementat în cazul în care programul nu știe încă, de exemplu, numărul de pagini la începutul ieșirii) - în acest caz, în locul valorilor numerice dintre parametrii din antet, trebuie să scrieți " (atend)".
Fișierul se termină cu șirul " %%EOF".
PostScript folosește patru stive pentru a stoca diferite tipuri de date: stiva de operanzi, stiva de context grafic, stiva de execuție și stiva de dicționar.
Tipuri de dateTipurile de date de bază ale limbajului PostScript sunt: întreg cu semne, număr real, expresie booleană ( truesau false), șir de caractere ( ( … ) ), matrice ( [ … ] ), procedură ( { … } ), dicționar, nume.
OperatoriOperatorii din PostScript preiau operanzi (parametri) scoțându-i din stivă și împing și rezultatele acțiunilor (dacă există) în stivă. Acest stil de programare, în care operanzii sunt specificați înainte de operația asupra lor (operator), se numește notație postfixă. De exemplu, pentru a adăuga două numere date, trebuie mai întâi să le puneți în partea de sus a stivei de operanzi, apoi să executați comanda add, care va scoate ultimele două elemente (adică numerele date) din stivă, să le adăugați și să scrieți rezultatul în stivă, de unde poate fi scos printr-o altă operație ca operand. Este scris astfel:4 5 add
Instrucțiunile PostScript pot fi împărțite în mai multe grupuri. Aceștia sunt operatori pentru lucrul cu conținutul stivei (indiferent de tip), operații aritmetice, operatori pentru lucrul cu matrice, lucrul cu dicționarele, lucrul cu șiruri, compararea, controlul fluxului de comenzi, lucrul cu tipul de argumente și conversie, accesarea și lucrul cu fișiere, lucrul cu memoria virtuală, starea grafică și altele.
Procesul de desenare (rasterizare) la executarea ( interpretarea ) unui program PostScript constă în calcularea pentru fiecare pixel al dispozitivului de ieșire câte unul (pentru monocrom) sau mai multe (de exemplu, patru pentru un dispozitiv CMYK sau șase pentru CMYKOrGr ) valori ale parametrilor (-s) în intervalul de la 0 la 1,0. Valoarea calculată a parametrului (parametrului) este folosită ca argument pentru o altă funcție importantă - funcția de transfer ( sinonim în limba rusă - afișare ). În mod implicit, în majoritatea covârșitoare a cazurilor, această funcție este cea mai simplă funcție y(x)=x și valoarea ei este identic egală cu valoarea argumentului. Cu toate acestea, într-un număr de cazuri, de exemplu , dependențe neliniare destul de complexe y(x) sunt utilizate pentru a compensa câștigul punctului , dat prin aproximare pe bucăți sau tabelară . Aproximarea liniară pe bucăți a funcției de transfer este utilizată, de exemplu, în fișierele Adobe Photoshop EPS și PS - pentru aproximare, zona de definiție [0; 1.0] este împărțită în patruzeci de secțiuni cu un pas de 0,025 (2,5% din punctul raster ) ; pe fiecare dintre cele patruzeci de secțiuni, funcția de transfer are forma y(x)=b x+a. Funcția de transfer a formei y(x)=1-x (în ceea ce privește limbajul PostScript ) inversează imaginea, făcând-o negativă - așa este modul în care imprimantele PostScript imprimă un negativ . {1 sub neg} settransfer
Pentru dispozitivele monocrome - de exemplu, pentru fotocompunerea , decizia de a umple (evidenția) un pixel poate fi luată ca urmare a comparării valorii funcției de transfer calculată pentru un anumit pixel și valoarea așa-numitului. Funcție Spot sau matrice bidimensională Matrice de prag : dacă valoarea funcției de transfer este mai mare decât valoarea funcției Spot sau element al matricei Prag pentru acest pixel, acesta din urmă este pictat peste (evidențiat).
O selecție specială a funcției de transfer și a funcției Spot sau a matricei Threshold face posibilă obținerea raportului dintre numărul de pixeli umbriți și neumpluți ai dispozitivului de ieșire pentru fiecare pixel al imaginii sursă (rasterizată), astfel încât luminozitatea medie a zona de imagine corespunzătoare de pe imprimare (printare) este aproape proporțională cu valoarea parametrului calculat (vezi Fig. de mai sus).
În mod similar, se formează puncte de diferite dimensiuni, care alcătuiesc o imagine semitonică pe imprimeuri tipografice: în ziare, reviste, cărți.
Aproape la fel de complex ca PostScript însuși este gestionarea fonturilor . Sistemul de fonturi folosește primitive grafice PS pentru a desena glife cu linii curbe, care pot fi apoi afișate la orice rezoluție . O serie de probleme tipografice apar cu această abordare.
Una dintre probleme - aceea că fonturile nu se scalează liniar la dimensiuni mici - este rezolvată prin includerea sugestiilor . Într-o perioadă în care tehnologia de includere a indicațiilor în fonturi era puternic păzită, fonturile „aluzite” au fost codificate și comprimate în ceea ce Adobe numea Font Type 1 (cunoscut și ca PS1 , T1 sau Adobe Type 1 ). Tipul 1 a fost mai mult o facilitate de stocare pentru informații care descriu doar caracterele decât un limbaj complet (PDF este similar în acest sens). Adobe a început apoi să acorde licențe pentru tehnologia de tip 1 celor care doreau să adauge indicii fonturilor lor. Cei care nu au licențiat tehnologia au rămas cu fontul Type 3. Fonturile Type 3 au permis întreaga complexitate a limbajului PostScript, dar fără o abordare standard a sugestiilor.
Fontul Type 2, care este destinat utilizării cu formatul Compact Font (CFF), a fost implementat pentru a reduce dimensiunea totală a fișierului fontului. Mai târziu a devenit baza pentru gestionarea fonturilor OpenType .
Pentru a concura cu sistemul Adobe, Apple și-a dezvoltat propriile sisteme TrueType în 1991 . Imediat după anunțarea TrueType, Adobe a publicat specificațiile pentru formatul de tip 1 . De atunci au apărut multe fonturi gratuite de tip 1. De exemplu, fonturile folosite de sistemul de layout TeX sunt disponibile în acest format.
La sfârșitul anilor 1990, Adobe sa alăturat Microsoft în dezvoltarea OpenType . În esență, a fost o amalgamare și o extensie a formatelor Type 1 și TrueType. La imprimarea la ieșirea unui dispozitiv PostScript, părțile redundante ale fontului OpenType sunt omise, iar ceea ce este trimis către driverul de imprimantă nu diferă de ceea ce iese prin fonturile TrueType sau Type 1.
Formatul de font CID-Indexed (prescurtare de la Character Identified) a fost dezvoltat pentru a rezolva problema abordării glifelor în limbi hieroglifice cu un număr foarte mare de caractere (chineză, coreeană, japoneză). Acest format poate fi utilizat cu Tipul 1 pentru fonturile standard indexate CID sau Tipul 2 pentru fonturile OpenType indexate cu CID .
Fiecare glif al unui element dintr-o colecție de caractere este identificat printr-un index unic de caractere (CID) în codificarea respectivă, care poate să nu fie același cu codul caracterului corespunzător, cum ar fi în Unicode .
Colecțiile de caractere au un nume unic cu majuscule, ordine și umplutură, cum ar fi „Adobe-Japan1-6”. Registrul indică dezvoltatorul (de exemplu, Adobe). Ordinea dezvăluie scopul setului de caractere (de exemplu, „Japan1”). Un număr suplimentar (de exemplu, 6) indică adesea dimensiunea colecției. De exemplu, colecția Adobe-Japan1-0 are 8284 de glife și Adobe-Japan1-6 are 23058 de glife.
Fonturile cu o cheie CID pot fi făcute fără referire la o colecție de caractere, folosind o codificare „identitate” precum Identity-H (pentru scriere orizontală) sau Identity-V (pentru scriere verticală). Astfel de fonturi pot avea un set de caractere unic, caz în care numărul CID al glifului nu este informativ; de obicei, codificarea Unicode este folosită în schimb , eventual cu informații suplimentare.
Tehnologia Adobe ClearScan creează fonturi personalizate Type1-CID pentru a se potrivi cu aspectul vizual al unui document scanat după recunoașterea optică a caracterelor (OCR). ClearScan (în Acrobat 9) nu înlocuiește fonturile cu fonturi de sistem sau Type1-MM (ca în Acrobat 8 și anterioare), dar utilizează aceste fonturi personalizate nou create. Fonturile personalizate sunt încorporate în fișierul PDF.
Pe lângă PostScript , limbajul de control al imprimantei PCL de la Hewlett-Packard a devenit larg răspândit pe piața imprimantelor laser . PCL a fost inițial destinat altor sarcini decât PostScript (controlul imprimantei mai degrabă decât descrierea paginii) și nu poate oferi portabilitate . Cu toate acestea, pentru utilizarea la birou este în unele cazuri mai convenabil. PCL utilizează fonturi standard Windows TrueType ( spre deosebire de PostScript). În plus, cea mai recentă versiune (PCL6) a fost dezvoltată de HP în strânsă colaborare cu Microsoft și, prin urmare, oferă un răspuns mai rapid la aplicație, imprimare rapidă a graficelor complexe, o calitate îmbunătățită a imprimării și o precizie sporită la imprimarea documentelor.
În plus, PostScript este licențiat și fără drepturi de autor de către Adobe per controler RIP (Raster Image Processor), în timp ce PCL poate fi folosit de terți în mod gratuit. Prin urmare, RIP PostScript 3 cu licență pentru plotere HP costă aproximativ 500 USD, în timp ce controlerele OKI „emulare PS2” fără licență costă 30-70 USD.
Practic, toate imprimantele laser din anii 1990 au acceptat PostScript ca limbaj principal; din anii 2000, multe imprimante laser din clasa SOHO nu au fost echipate cu suport PostScript pentru a reduce costurile. Astfel, PostScript este scos din birou de către PCL, rămânând totuși un standard practic de necontestat în domeniul prepressului.
Chirpici | |
---|---|
Software client | |
Software de server |
|
Tehnologie | |
Servicii |
|
Consiliu de Administratie |
|
Achiziția altor companii |
|
|
Limbaje de programare | |
---|---|
|
containere media | |
---|---|
Video/Audio | |
Audio | |
Muzică | |
Raster | |
Vector | |
Complex |
Turnătorie de tip și proiectare de tip | |||||||||
---|---|---|---|---|---|---|---|---|---|
Concepte | |||||||||
Structura fontului |
| ||||||||
Caracteristicile fontului | |||||||||
Clasificarea fonturilor alfabetice |
| ||||||||
Stiluri de font | |||||||||
Unități | |||||||||
tipografie computerizată | |||||||||
Vezi si Editura Tipografie Tipografie Kit Aspect Imprimare |