PostScript (PS)

PostScript (PS) е език за описание на страница, използван предимно в областта на електронните и настолните издателски системи. До въвеждането на PostScript, печатащите устройства са били разработени да печатат изходните знаци, дадени в текста, като входящи. Имаше редица технологии, които да правят това, но при повечето от тях се срещаше проблема, че знаците трудно можеше да бъдат променяни, тъй като те са отпечатани на печатащите клавиши, метални листи, или оптически пластини.

Това до някаква степен се промени с нарастващата популярност на печатащите устройства с точкова матрица. Знаците при тези системи бяха "нарисувани" като серия от характерни точки, за да бъдат използвани като шрифтова таблица вътре в принтера. Тъй като тяхната сложност нарастваше, печатащите устройства с точкова матрица започнаха да включват вградени шрифтове, от които потребителят може да избира, а някои модели позволяваха на потребителя да качва негови графични знаци в печатното устройство. Печатащите устройства с точкова матрица въведоха възможността да се печата растерна графика. Графиките бяха интерпретирани от компютър и изпращани към печатното устройство като серия от точки. Тези печатни устройства променяха управляващите ги езици, различни при всеки принтер, изисквайки авторите на програмата да създават редица драйвери.

"Истинското" графично печатане беше оставено на устройства със специално предназначение, наречени плотери. Плотерите споделяха един общ команден език, но бяха малко използвани за нещо друго, освен за печатане на графики. Освен това, те бяха скъпи и бавни, и това ги правеше рядко срещани.

PostScript прекъсва традицията, като комбинира най-добрите възможности на печатните устройства и плотерите. Подобно на плотерите, PostScript предложи качествена авторска линия и самостоятелен контролен език, който може да бъде използван при всяка марка принтери. Подобно на принтерите с точкова матрица, PostScript предложи прост начин за генериране на страници от текст и растерна графика. Или за разлика от тях, PostScript можеше да помести всички тези видове от носители на информация в една единствена страница, което предлага много по-голяма гъвкавост, за разлика от всеки друг принтер или плотер преди това.

PostScript достигна извън границите на езика за управление на типичния принтер и сам по себе си беше изцяло програмен език. Много приложения могат да преобразуват един документ в PostScript програма, чието изпълнение ще се отрази в оригиналния документ. Тази програма може да бъде изпратена до интерпретатора в принтера, което се отразява в отпечатания документ, или до някое друго вътрешно приложение, което ще покаже документа на екрана. Тъй като програмата на документа е същата, независимо от неговото местоположение, това се нарича независимост от устройството.

PostScript е забележителен също така, заради възможността да осъществява растеризация в движение. Всичко, дори текст, е определено по правилата на правите линии и кубичните криви на Bezier (откривани преди това само в CAD приложенията), което позволява произволно скалиране, завъртане и други преобразувания. Когато PostScript програмата се разшифрова, интерпретаторът конвертира тези инструкции в точки, необходими за оформяне на изходната продукция.

Езикът на PostScript премина през 2 основни подновявания. Първата версия, известна като PostScript Level 1, беше предложена през 1984. PostScript Level 2 беше предложена през 1991, и включваше няколко нововъведения, а именно, подобряване на скоростта и надежността, поддържане на отделен процесор за растерни изображения, декомпресия на изображение, което означава, например, че JPEG изображенията би трябвало да получат достъп непосредствено чрез програмата PostScript, както и поддръжка на сложни шрифтове, механизъм за запазване на многократно употребявано съдържание. PostScript Level 3 дойде в края на 1997 и, наред с много нови версии на базата на речниците на старите оператори, предложи по-добър цвят на обработката и нови филтри (които позволяват в програмата компресия/декомпресия програмно разделяне и модерна обработка на грешки).