next up previous
Next: Об одном способе подготовки Up: О некоторых способах подготовки LATEX. Previous: Некоторые способы подготовки рисунков LATEX-документов

  
Элементы языка PostScript

Для того, чтобы была понятна технология IV, необходимо знакомство с языком PostScript . Для формирования рисунков, составленных, например, из отрезков прямых линий и несложных подписей к ним, достаточно знать совсем немного. В этом разделе для знакомства с языком приводятся некоторые сведения из [2].

Язык PostScript был разработан Джоном Варноком в фирме Adobe Systems в 1982 году и создавался качестве простого стандартного языка для описания вида текста, чертежей и простых изображений на печатной странице. Важно, что описание страниц на PostScript не зависит от устройства, на котором страница будет воспроизведена. Как правило, программы на PostScript генерируются приложениями (пакетами). Но даже поверхностное знакомство с языком может оказаться очень полезным.

PostScript -устройство (принтер, монитор) - это устройство, в котором имеется интерпретатор языка PostScript . Интерпретатор принимает из компьютера текстовый файл с программой, написанной на языке PostScript (PS-файл с описанием страниц) и преобразует его в растровую форму, которая и выводится на печать или экран.

Отметим некоторые особенности языка PostScript .

Данные в PostScript - это числа, массивы, строки, символы.

Работа с данными производится через стек. Любое число, появившееся в исходном PS-файле, заносится в стек. Операции над данными в PostScript требуют, чтобы операнды сначала были помещены в стек.

Оператор - это слово, побуждающее интерпретатор делать те или иные действия. Операторы имеют вид:
Операнд_1 Операнд_2 ... Операнд_N Оператор
Например, запись сложения чисел 4 и 5 выглядит следующим образом:
4 5 add
Такой стиль программирования, когда операнды задаются до оператора, называется постфиксной нотацией или обратной польской записью.

В PostScript используются словари. Словарь - это таблица, связывающая между собой пары объектов. PostScript -словарь связывает объект, именуемый ключом, со значением ключа. В PostScript имеются системный и пользовательский словари. Ситемный словарь объединяет имя каждого встроенного в язык оператора с соответствующим действием. Словарь пользователя ассоциирует имена с процедурами и переменными, определяемыми в программе. Например, чтобы определить переменную в PostScript , ее имя и значение надо занести в словарь. Так, запись
/WL 4 def
помещает имя WL в стек как литерал ("как есть"), затем в стек заносится значение 4, а def берет оба значения из стека и помещает в словарь.

Процедура в PostScript - это набор операторов, сгруппированных под общим именем. При этом имя процедуры является ключем, а набор операторов - его значением. Запись
/A {add} def
представляет пример простейшей процедуры, смысл которой состоит в том, что вместо оператора сложения add можно использовать букву A, так что в приведенном выше примере для сложения чисел 4 и 5 можно теперь воспользоваться записью
4 5 A
(Такой прием полезен для сокращения размера получаемых PS-файлов).

В языке PostScript имеется большой набор операторов для получения графических изображений. Некоторые из них будут использованы в следующем разделе. При этом используются следующие основные понятия. Текущая страница - это идеальная страница в памяти, на которой рисует PostScript . Текущая траектория - это набор соединенных между собой точек, линий, кривых, которые могут описывать фигуры и их положение на странице. Позиция на текущей странице описывается в системе координат пользователя, которая не зависит от пространства устройства.

В этом и следующем разделах упомянуты только некоторые конструкции языка PostScript . Для более подробного знакомства с языком см. [2]-[5] и приведенную там библиографию.