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