PostScript – это язык описания страниц, который используется для описания векторной графики в компьютерной графике и публикациях. PostScript был создан фирмой Adobe Systems в 1982 году и был широко принят в индустрии печати и издательства.
Язык PostScript представляет собой стековый язык программирования, в котором команды выполняются в порядке их записи. PostScript используется для создания документов, которые могут быть напечатаны на принтерах, а также для проектирования шрифтов и изображений.
PostScript также используется в предметно-ориентированных языках разметки, таких как PDF (Portable Document Format) и EPS (Encapsulated PostScript). Язык PostScript имеет свою собственную систему координат, цвета и шрифты, что делает его мощным инструментом для создания высококачественной графики и публикаций.
В PostScript используется модель изображения текста и рисунков на чистой странице. Когда страница готова, она выводится на печать и начинается «прорисовка» изображения следующей страницы. Это есть ни что иное, как метод компиляции. Каждый документ PostScript обычно представляет собой программу, которая печатает на принтере (или отображает на экране монитора) следующие друг за другом страницы.
PostScript предоставляет возможность вывода высококачественной векторной графики и единый язык управления, который может быть использован любым производителем принтеров. Подобно матричным принтерам, PostScript предлагает удобные возможности по печати растровой графики и текста. В отличие от тех и других, PostScript может совмещать все эти типы вывода на одной странице, давая намного больше гибкости, чем до этого имел любой принтер или плоттер.
PostScript — больше, чем типичный язык управления принтером, он является полнофункциональным языком программирования. Многие прикладные программы могут преобразовать документ в PostScript-программу, при выполнении которой будет получен начальный документ. Эта программа может быть послана непосредственно на принтер с поддержкой PostScript или преобразована интерпретатором PostScript в другой формат (для принтеров без поддержки PostScript), или результат её выполнения интерпретатором может быть показан на экране. Так как исходная PostScript-программа одна и та же, PostScript называется независимым от устройства.
Большинство современных принтеров и плоттеров имеют встроенный интерпретатор языка PostScript. В то же время, простые принтеры домашнего класса поддерживают только элементарные графические операции, поэтому задача создания растрового изображения возлагается на центральный процессор. Существуют интерпретаторы языка PostScript для различных операционных систем, наиболее известный из них — свободная программа Ghostscript, которая входит в комплект поставки большинства версий Linux и Unix.
Имеется коммерческая версия системы ТеХ — BaKoMa TeX, написанная советским и российским программистом В. Малышевым полностью на PostScript.
PostScript – полнофункциональный язык программирования. Хотя программы на PostScript и создаются в основном не людьми, а другими программами, в принципе ничто не мешает писать на нём программы для обсчёта графики, реализации численных методов решения математических задач и т. п.
PostScript — интерпретируемый стековый язык, похожий на Форт. Синтаксис языка использует обратную польскую нотацию, что делает ненужным использование скобок, однако требует некоторой практики для чтения текста программы из-за необходимости держать в голове содержимое стека. Большинство операторов берёт операнды из стека и помещают результат вычислений в стек. Литералы (строки и числа) помещают свою копию в стек.
В PostScript для рисования используется двумерная прямоугольная система координат, начало которой совпадает с левым нижним углом страницы; ось X по умолчанию направлена горизонтально (то есть по ширине страницы), ось Y — вертикально. Единицей измерения линейных координат служит типографский пункт. С помощью операторов языка начало системы координат может быть перенесено в любую точку (оператор translate
), а сама система — повернута на произвольный угол в плоскости страницы (оператор rotate
); масштаб по каждой из двух осей с помощью оператора scale
также может быть изменен. Например, «зеркальный» вывод изображения на плёнку (т. н. «Emulsion down») в PostScript-принтерах осуществляется при помощи одного единственного оператора scale
, задающего отрицательный масштаб по одной из осей системы координат