Поиск…


замечания

PostScript - это реверсивный полигон, динамически типизированный, динамический интерфейс имен, язык сценариев со встроенными примитивами для генерации визуализированных изображений из векторных описаний. PostScript использует ту же «Adobe Image Model», что и формат PDF-файла.

PostScript используется в качестве выходного формата для многих программ, поскольку он предназначен для простого машинного генерирования.

Как и LISP, PostScript является homoiconic, а код и данные имеют одинаковое представление. Процедуры могут принимать процедуры в качестве данных и давать процедуры в качестве результатов, предоставляя также методы из конкатенативного программирования .

Установка или настройка

Аутентичные интерпретаторы Adobe PostScript доступны в высококачественных принтерах, продукте Display PostScript (DPS) и продукте Acrobat Distiller. Как авторы стандарта, эти продукты считаются «стандартной реализацией» с целью описания различий между реализациями PostScript.

Стандартный интерфейс к интерпретатору, определенному в PLRM, представляет собой программный поток, который может быть текстовым или двоичным в зависимости от деталей базового канала или ОС / контроллера. Acrobat Distiller имеет интерфейс GUI для выбора входной программы постскриптума и вывода ее в виде pdf. Distiller также имеет ограниченную поддержку для использования текстового потока вывода для сообщения об ошибках и других выходных данных программы. GSView предоставляет аналогичный графический интерфейс для аналогичного рабочего процесса, используя Ghostscript в качестве интерпретатора.

Ghostscript и Xpost работают в режиме командной строки. Файл программы postscript для запуска можно xpost program.ps в командной строке ( gs program.ps xpost program.ps или xpost program.ps ), которая откроет графическое окно для отображения графического вывода. Параметры могут использоваться для рендеринга графики в другом месте, например, на диске, или полностью отключить графику и использовать постскриптум, как язык текстовых сценариев.

У разных переводчиков есть свои инструкции по установке и настройке, и для их воспроизводства они были бы расточительными (и склонными к падению).

Свободно доступные интерпретаторы PostScript

  • Ghostscript доступен для всех основных платформ и дистрибутивов Linux в исходной или двоичной форме в соответствии с лицензией GNU или по другим соглашениям с авторами, программным обеспечением Artifex . Ghostscript реализует полный стандарт PostScript 3.

  • Xpost доступен в исходной форме для всех основных платформ в соответствии с лицензией BSD-3. Он реализует стандарт уровня 1 с некоторыми расширениями уровня 2 и некоторыми расширениями DPS.

Общее описание PostScript

PostScript - это полный язык программирования Turing, разработанный и разработанный Adobe Systems. Многие идеи, которые расцвели в PostScript, были культивированы в проектах для Xerox и Evans & Sutherland.

Его основное приложение в реальном мире исторически относится к языку описания страниц или в одностраничной форме EPS - это векторный графический язык описания образов. Он динамически типизирован, динамически-скопирован и основан на стеке, что приводит к преимущественно синтаксису Reverse Polish.

Существует три основных выпуска PostScript.

  1. PostScript Level 1 - это было выпущено на рынок в 1984 году как резидентная операционная система лазерного принтера Apple LaserWriter, открывающая эпоху настольных издательских систем.
  2. PostScript Level 2, выпущенный в 1991 году, содержал несколько важных улучшений уровня 1, включая поддержку декомпрессии изображений, разделение RIP, словари для автоматического выращивания, сбор мусора, именованные ресурсы, двоичные кодировки самого потока программы PostScript.
  3. PostScript 3 - последняя и, возможно, наиболее широко распространенная версия, была выпущена в 1997 году. Она также содержит несколько улучшений импорта по сравнению с уровнем 2, например Smooth Shading. Термин «уровень» был отброшен.

Хотя PostScript обычно используется в качестве языка описания страниц, и поэтому он реализуется внутри многих принтеров для создания растровых изображений - его также можно использовать для других целей. Как быстрый калькулятор с обратной полярностью с более запоминающимися именами операторов, чем bc . В качестве выходного формата, сгенерированного другой программой (обычно на каком-то другом языке).

Хотя файл PostScript обычно является 7-битным чистым ASCII, существует несколько видов двоичной кодировки, описанных в стандарте уровня 2. И, будучи программируемым, программа может реализовать свою собственную схему произвольно сложного кодирования для себя. Существует международный конкурс по изучению окутанных поскриптов, несколько менее активный, чем C.

Интернет-ссылки

Вопросы и ответы

книги

  • PostScript Language Reference Manual, 1ed, 1985. Рекомендуется для небольшого размера и простого указателя оператора из итоговых страниц (отсутствует в последующих выпусках).

  • Реальный мир Postscript. Главы разных авторов по различным темам, в том числе превосходное освещение полутонов.

Локальные пространства имен для функций

Postscript - это динамический язык имен или язык LISP 1 . Но он предоставляет инструменты для реализации локальных переменных в процедурах и других эффектах, необходимых для реализации алгоритмов.

Для локальных имен в процедуре создайте новый словарь в начале и поместите его в конец.

/myproc {
    10 dict begin
    %... useful code ...
    end
 } def

Вы также можете сочетать это с ярлыком, чтобы определить аргументы функции как переменные.

% a b c  myproc  result
/myproc {
    10 dict begin
    {/c /b /a} {exch def} forall
    %... useful code yielding result ...
    end
 } def

Если вам необходимо обновить * «глобальный» * переменной , а локальный словарь сверху, использование store вместо def .

Пример Hello World

Выберите шрифт и шрифт, выберите местоположение, строку show .

%!PS
/Palatino-Roman 20 selectfont
300 400 moveto
(Hello, World!) show
showpage

Примечания и общие ошибки:

  • Невозможность установить шрифт (в результате не будет текстового или стандартного (уродливого) шрифта)

  • С помощью findfont и setfont но забывая о scalefont между ними. Использование level-2 selectfont позволяет избежать этой проблемы и является более кратким.

  • moveto установить точку с moveto или установить точку за пределами страницы. Для бумажной бумаги в США 8.5x11 - 792x612 пс точек. Так что легко запомнить примерно 800x600 (но более короткий и более широкий). Таким образом, 300 400 - это примерно центр страницы (немного высокий, немного слева).

  • Не showpage вызвать showpage . Если вы просматриваете программу ps с помощью gs и она не заканчивается showpage , gs может отображать изображение для вас. И все же, файл будет таинственным образом не производить какой-либо выход, когда вы пытаетесь преобразовать в PDF или что-то еще.

учебный план

Прочтите документацию в этом порядке, чтобы легко изучить постскриптум:

  1. Отличный учебник Paul Bourke: http://paulbourke.net/dataformats/postscript/

  2. Синяя книга, первая половина, оригинальный официальный учебник:
    http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF

  3. Зеленая книга, как эффективно использовать постскриптум:
    http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF

  4. Мышление в Postscript, 'nuff сказал: http://wwwcdf.pd.infn.it/localdoc/tips.pdf

  5. Математические иллюстрации . Начать небольшой, построить большой. Математика за кривыми Безье. Алгоритм обрезки полигона Ходжмана-Сазерленда. Аффинные преобразования и нелинейные преобразования пути. 3D-рисунок и затенение Гуро. Из предисловия:

Который [из многих инструментов, чтобы помочь изготовить математическую графику], по-видимому, подразумевает компромисс между простотой и качеством, в котором большинство из них стремится к тому, что они считают простотой. Правда в том, что компромисс не нужен - как только вы сделали небольшую начальную инвестицию усилий, на сегодняшний день лучше всего делать в большинстве ситуаций - написать программу на графическом языке программирования PostScript. Практически нет предела качеству вывода программы PostScript, и по мере приобретения опыта трудности в использовании языка быстро уменьшаются. Очевидная сложность, связанная с созданием простых фигур при программировании в PostScript, как я надеюсь, эта книга продемонстрирует, в значительной степени иллюзия. И объем работы, связанной с созданием более сложных фигур, обычно не будет ни больше, ни меньше того, что необходимо.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow