Техника работы
Сбойная команда
Выражение OffendmgCommand показывает, какой именно PostScript-оператор дал сбой. Все операторы можно разделить на две группы: влияющие на внешний вид страницы и не влияющие. Операторы первой группы влияют, в частности, на объекты трех типов, поддерживаемые языком PostScript, – текст, графика (здесь и далее под этим подразумевается векторная графика) и изображения (растровые картинки, созданные на компьютере или оцифрованные путем сканирования). Различие между этими группами весьма существенно: чтобы исправить ошибки, вызванные операторами первой группы, достаточно модифицировать документ в программе, где он был создан. Операторы второй группы используются при программировании PostScript-файла, и, чтобы понимать их и устранять возникающие проблемы, требуется серьезный опыт работы с языком PostScript.
Операторы первой группы, в свою очередь, могут быть разбиты на категории (см. табл. 1), как указано в Разделе 8.1 руководства "PostScript Language Reference Manual". Категории эти следующие: Graphics State, Device-Independent (состояние графики, аппаратно-независимые); Graphics State, Device-Dependent (состояние графики, аппаратно-зависимые); Path Construction (построение контуров); Painting (закрашивание); Form and Pattern (формы и орнамент); Device Setup (настройка устройства); Character and Font (символы и шрифты). Эти семь категорий насчитывают довольно много операторов, но следует иметь в виду, что одни из них используются чаще, другие реже. Например, оператор рисования fill встречается весьма часто, поскольку применяется для закрашивания графики, а специфичный оператор ueofill – редко.
Увидев в выражении OffendingCommand имя оператора, найдите в Разделе 8.1 руководства его категорию. Это поможет определить тип операции, вызвавшей ошибку. Например, оператор show относится к категории Character and Font, поэтому, если Вы увидите ошибку, где сбойная команда представлена оператором show, можно подозревать, что проблема связана с текстом PostScript-файла. Табл. 1 содержит перечень категорий операторов, их краткое описание и общие примеры.
В сообщениях об ошибках можно увидеть некоторые команды, отсутствующие в руководстве "PostScript Language Reference Manual", поскольку они не являются стандартными. Такая ситуация более типична для продуктов, поддерживающих только вариант Level 1 языка PostScript, чем для тех, которые работают и с Level 2 (см. "PostScript Level 2", с. 104).
Имя ошибки
Определив в сообщении сбойную команду, обратите внимание на имя ошибки. Наиболее распространенные ошибки и их краткое описание приведены в табл. 2, там же даются примеры сбойных команд, общие проблемы и методы решения той или иной комбинации "ошибка – сбойная команда". Некоторые из примеров представляют собой программные ошибки, анализ и исправление которых требует специальных приемов отладки и знания языка PostScript. В таких случаях за помощью следует обращаться к специалисту или производителю своего программного обеспечения и R1P.
Таблица 1. Операторы POSTSCRIPT.
Категория операторов | Описание категории | Пример оператора | Описание оператора |
---|---|---|---|
Graphics State, Device-Independent (состояние графики, аппаратно – независимые) | Управляет прорисовкой объектов, на выводных устройствах разных типов результаты должны быть идентичными. | setcolor setlinewidth | Задает цвет объекта. Задает ширину линий объекта. |
Graphics State, Device-Dependent (состояние графики, аппаратно – независимые) | Управляет прорисовкой объектов, на выводных устройствах разных типов результаты обычно | sethalftone set flat | Устанавливает запрошенный полутоновой растр. |
Path Construction (построение контуров) | Используется для создания графики, такой как полигоны кривые. | lineto curve to arc | Вычерчивает линию. Вычерчивает кривую. Вычерчивает дугу или кр\т. |
Painting (закрашивание) | Используется для закрашивания графики и изображений | stroke fill image | Закрашивает обводную линию. Закрашивает внутреннюю часть графики. Закрашивает изображения. |
Form and Pattern (формы и орнамент) | Применяется для генерирования повторяющихся форм и орнамента. | setpattern execform | Вычерчивает форму. |
Device Setup (настройка устройства) | Используется для настройки атрибутов принтера. | setpagedevice | Устанавливает запрошенные функции устройства. |
Character and Font (символы и шрифты) | Используется для манипуляции со шрифтами и символами. | findfont show | : Отыскивает и загружает запрошенный шрифт. Закрашивает символ или группу символов. |