Разработан в 1985 году фирмой Adobe PostScript и представляет собой язык описания страниц для печати и отображения документов, включающих текст, графику, изображения и цвет. По мере развития языка появляются его новые версии, которые называются уровнями (Eevel I, Level 2). Для PostScript создан ряд расширений, позволяющих ему адаптироваться к новой технологии и дополняющих новыми функциональными особенностями. Расширения PostScript — это набор языковых функций, которые не являются стандартными для данного уровня.
В интерпретаторах PostScript Level 1 реализованы все функциональные особенности Level 1, задокументированные в первом издании руководства «PostScript Language Reference Manual».
PostScript Level 2 предлагает новые языковые функции, а также оптимизированные операторы текста и графики. Level 2 включает расширения для работы с цветами CMYK, композитными шрифтами, ряд расширений Display PostScript для растровых устройств. Поскольку Level 2 поддерживает функции и операторы Level 1, приложения, выполняющие печать на печатающие устройства Level 1, поддерживают печать и на и устройства поддерживающие Level 2. Между тем, PostScript Level 1 поддерживает не все функции и операторы Level 2. PostScript-приложения, предназначенные для работы с операторами и функциями Level 2, не имеют автоматической поддержки печати на печатающие устройства Level 1.
НОВЫЕ ОСОБЕННОСТИ ЯЗЫКА POSTSCRIPT LEVEL 2
PostScript Level 2 обеспечивает улучшенную и расширенную поддержку следующих функциональных особенностей:
Композитные шрифты
Аппаратно-независимый цвет
PostScript Level 2 поддерживает несколько аппаратно-независимых цветовых моделей международного стандарта CIE 1931, а также модели CMYK и RGB. Характеристики цвета в системе CIE строятся не на воспроизведении цвета, а на основе его зрительного восприятия. Эта система позволяет работать с цветом, качество которого не зависит от аппаратных средств: создавать, просматривать и распечатывать цветовую информацию на разных мониторах и принтерах можно с более высокой степенью предсказуемости.
Формы
Форма — это автономное описание графики, текста или изображений, которое можно воспроизводить многократно на любом количестве страниц с помощью кэша форм. Он занимает участок памяти, сохраняя там недавно использованные формы, и позволяет использовать их повторно без лишних затрат времени. Когда поступает запрос, форма извлекается из кэша. Если в течение установленного времени запроса на форму не поступает, та удаляется из памяти. Усовершенствованные алгоритмы растрирования Устройства PostScript Level 2 позволяют с повышенной точностью устанавливать углы наклона и линиатуру для полутоновых растров фотонаборных автоматов. Полутоновые растры вычисляются на основе таких параметров, как запрошенные точные угол наклона и линиатура растра, разрешение печатающего устройства и доступный для алгоритма объем памяти. В PostScript Level 2 применяются аппаратные словари растров, позволяющие выполнять настройку под конкретные устройства.
Словарь растров (например, type I, type 3) — это автономное, самодостаточное описание процесса растрирования.
Усовершенствованное управление памятью В устройстве PostScript Level 2 памятью наделяются все ресурсы и выделяется она динамически, в результате чего повышается эффективность работы. Когда возникает необходимость в дополнительном объеме памяти, виртуальная память (VM), стеки, кэш шрифтов, кэш форм и страничный буфер расширяются. PostScript Level 2 позволяет удалять из словарей отдельные элементы, а также удалять определения шрифтов в порядке, не связанном с порядком их создания. При работе с композитными объектами виртуальная память (VM) освобождается автоматически.
Образцы
PostScript Level 2 позволяет воспроизводить па печати не только сплошные цветовые заливки, но и заливки орнаментом. Операторы закрашивания заполняют область плитками орнамента с фиксированными интервалами. Для хранения недавно использованных орнаментов выделяется специальный участок памяти — кэш образцов, обеспечивающий быстрое повторное обращение к одному и тому же орнаменту. Когда поступает запрос на образец, он извлекается из кэша. Если в течение установленного времени запроса не поступает, образец удаляется из памяти.
Управление ресурсами
PostScript Level 2 позволяет быстро загружать и извлекать ресурсы (шрифты, формы, образцы, векторы кодирования шрифтов /font encoding vectors/ и словари воспроизведения цвета модели CIE). Ресурс — это набор именованных объектов, которые либо постоянно находятся в виртуальной памяти, либо могут быть загружены в нее по запросу. Существуют разные категории ресурсов с независимыми классами имен.
Функциональные особенности, связанные с принтерами
Оператор setpagedevice создает аппаратно-независимую среду, позволяющую устанавливать параметры страницы, а также контролировать стандартные (например, количество копий) и дополнительные (например, дуплексная печать, включение нескольких лотков подачи бумаги /multiple paper trays/) функции устройства.
Операторы PostScript Level 2
В реализации Level 2 языка PostScript имеются следующие операторы (сюда входят также операторы Level 1, задокументированные в первом издании «PostScript Language Reference Manual»):
«
»
arct
colorimage
сshow
currentblackgeneration
currentcacheparams
currentcraykcolor
currentcolor
currentcolorrendering
currentcolorscreen
currentcolorspace
currentcolortransfer
currentdevparams
currentglobal
currentgstate
currenthal f tone
currentobj ectf ormat
currentoverprint
currentpacking
currentpagedevice
currentshared
currentstrokeadjust
currentsystemparams
currentundercolorremDval
currentuserparams
defineresource
def ineuserobj ect
deletefile
execform
execuserobj ect
filenameforall
fileposition
filter
findencoding
findresource
gcheck
globaldict
GlobalFontDirectory
glyphshow
gstate
ineofill
infill
instroke
inueofill
inufill
inustroke
ISOLatinlEncoding
languagelevel
makepattem
packedarray
pr intob j ect
product
realtime
rectclip
rectfill
reotstroke
renamefile
resourceforall
resourcestatus
revision
root font
scheck
selectfont
serialnuihber
setbbox
setblackgeneration
setcachedevice2
setcacheparams
setcrnykcolor
setcolor
setcolorrendering
setcolorscreen
setcolorspace
setcolortransfer
setdevparams
setfileposition
setglobal
setgstate
sethalftone
setobj ect format
setoverprint
setpacking
setpagedevice
setpattern
setshared
setstrokeadjust
setsystemparams
setucacheparams
setundercolorreitioval
setuserparams
setvmthreshold
shareddict
SharedFontDirectory
startjob
uappend
ucache
ucachestatus
ueofill
ufill
undef
undefinefont
undef ineresource
undefineuserobject
upath
UserObjects
ustroke
ustrokepath
vrareclaiin
writeobject
xshow
xyshow
yshow