ЯЗЫК описания
страницы PostScript был создан в начале 80-х годов прошлого века фирмой Adobe.
Его идеология состояла в том, что он был призван стать языком управления графическим
устройством, например лазерным принтером, а не просто выполнять узкую задачу
— позиционировать только черные точки, т. е. не только создавать битовую карту
изображения с учетом разрешения выводного устройства (так работает язык PCL).
Главная обязанность этого языка должна заключаться в передаче информации между
прикладными программами (графическими редакторами, программами верстки) и устройствами
визуализации (лазерными принтерами, фотонаборными автоматами и цифровыми офсетными
машинами).
Поэтому формирование
полной битовой карты страницы было перенесено в обязанность принтера, что вызвало
необходимость включить в его состав как вычислительный блок, так и блок памяти.
В основу языка
PostScript были положены следующие условия.
Основой
векторного принципа кодирования графической информации приняты кривые третьего
порядка (кривые Безье). И что очень важно, эти кривые использовались для описания
как графики, так и шрифта, что обусловило единые алгоритмы обработки (с некоторыми
небольшими отличиями).
С самого начала
было принято решение разрабатывать PostScript как язык программирования высокого
уровня, а не просто язык линейного управления внешним печатающим устройством.
Поэтому были предусмотрены все возможности, свойственные классическим языкам
программирования, например циклы, ветвления, подпрограммы и т. д. Кроме того,
очень важно отметить, что PostScript это язык интерпретирующего типа (программа
обрабатывается по мере поступления команд). Файлы в формате PostScript сохраняются
в виде обычных текстовых символов (первая половина кодовой таблицы ASCII),
что позволяет "рисовать" страницы в обычном текстовом редакторе,
сейчас, конечно, это не имеет значения, но в свое время впечатляло. Поэтому,
в сущности, документ, написанный на языке PostScript или сгенерированный
из какого-либо приложения, — это программа, которая подлежит выполнению, и
этим "занимается" интерпретатор языка, входящий в состав принтера.
Такая программа может быть совсем короткой, и ее передача на принтер займет
не так много времени (чего, впрочем, нельзя сказать о ее выполнении), а может
быть и очень значительной и ее передача на принтер может происходить не один
час.
Изображение,
которое описывается с использованием языка PostScript, никаким образом не
связано с разрешающей способностью конкретных устройств вывода. Процесс приспособления
изображения к возможностям принтера (процессы растеризации и растрирования)
происходит уже в самом принтере, тем самым добивается максимальное качество,
на которое он способен. Заранее готовить изображение, приспособленное к конкретному
принтеру, нет необходимости.
С точки зрения
содержания язык PostScrip — это графика, основанная на кривых Безье. Кривые
Безье — это воображаемые линии, которым можно присвоить обводку (stroke) и
заливку (fill). Кроме того, возможны импортирование и обработка пиксельной
графики.
Эти условия и
их реализация вывели язык PostScript на позиции несомненного лидера и позволили
ему стать основой всей области компьютерной графики и полиграфии.
Последующее развитие
языка не изменило своей основы, но шло по пути интегрирования новых возможностей
выводных устройств (цветная печать, систем управления цветом и т. д.).