Показать PostScript - Display PostScript

Показать PostScript (или ДПС) это 2D графический движок система для компьютеров, использующая PostScript (PS) модель визуализации и язык (изначально разработан для компьютерная печать ) для создания экранной графики. К базовой системе PS DPS добавляет ряд функций, упрощающих работу с растровый отображает и улучшает производительность некоторых общих задач.

Ранние версии систем отображения PostScript были разработаны в Adobe Systems. Во время разработки Следующий компьютеры, NeXT и Adobe совместно создали официальную систему DPS, которая была выпущена в 1987 году. NeXT использовал DPS на протяжении всей своей истории, в то время как версии от Adobe были популярны на рабочих станциях Unix какое-то время в течение 1980-х и 1990-х годов.

дизайн

Для поддержки интерактивного использования на экране с разумной производительностью потребовались изменения:

  • Множественные контексты выполнения: В отличие от среды принтера, в которой интерпретатор PS обрабатывает одно задание за раз, DPS может использоваться в нескольких окна при этом у каждого свои настройки (цвета, настройки кисти, масштаб и т. д.). Это потребовало модификации системы, чтобы она могла поддерживать несколько «контекстов» (наборов данных состояния) активными, по одному для каждого процесса (окна).
  • Закодированные имена: Многие процедуры и структуры данных в PostScript ищутся по имени, строковому идентификатору. В DPS эти имена можно заменить целыми числами, которые компьютер может найти гораздо быстрее.[нужна цитата ]
  • Поддержка взаимодействия: Определен ряд процедур для взаимодействия, в том числе обнаружение попаданий.
  • Полутоновая фаза: Чтобы повысить производительность прокрутки, DPS рисовал только небольшую часть окна, которая стала видимой, сдвигая остальную часть изображения, а не перерисовывая ее. Однако это означало, что полутона могут не совпадать, создавая видимые линии и прямоугольники при отображении графики. DPS включил дополнительный код для правильной обработки этих случаев. Современные полноцветные дисплеи без полутонов сделали эту идею в основном устаревшей.
  • Дополнительные обновления: В приложениях для печати код PS интерпретируется, пока не получит showpage в этот момент он фактически распечатывается. Это не подходит для ситуации отображения, когда постоянно требуется большое количество мелких обновлений. DPS включал режимы, позволяющие отображать информацию в полу-реальном времени по мере получения инструкций от пользовательских программ.
  • Поддержка растровых шрифтов: DPS добавил возможность отображать шрифты PS на нарисованные от руки растровые шрифты и переключаться с одного на другое на лету. Возможность Adobe PS отображать шрифты на устройствах с низким разрешением (значительно меньше 300dpi ) было очень плохо. Например, экран NeXT использовал только 96 точек на дюйм. Это ограничение PS было устранено путем использования вручную созданных растровых шрифтов для обеспечения приемлемого качества. Более поздние реализации PS (включая совместимые замены, такие как Ghostscript ) предоставлена сглаженный шрифты на полутоновых или цветных дисплеях, что значительно улучшило качество. Однако эта разработка была слишком поздно, чтобы принести большую пользу. Современные дисплеи по-прежнему имеют разрешение около 100 dpi[нуждается в обновлении ], но имеют гораздо более высокое качество шрифта без использования растровых шрифтов.
  • Поддержка языков программирования: DPS представил концепцию "pswrap", что позволило Разработчики обернуть код PostScript в Язык C функция, которую затем можно было вызвать из приложения.

Однако DPS не добавила оконную систему. Это было оставлено на усмотрение реализации, и DPS должен был использоваться вместе с существующим механизмом работы с окнами. Это часто было X Window System, и в этой форме Display PostScript позже был принят такими компаниями, как IBM и SGI для своих рабочих станций. Часто код, необходимый для перехода из X-окна в контекст DPS, был намного сложнее, чем весь остальной интерфейс DPS.[нужна цитата ]. Это сильно ограничивало популярность DPS, когда была доступна любая альтернатива.[нужна цитата ].

История

Разработчики Следующий написал полностью новый механизм работы с окнами, чтобы в полной мере использовать возможности NeXT объектно-ориентированная операционная система. В DPS был добавлен ряд команд для фактического создания окон и реакции на события, аналогичные, но более простые, чем Новости. Единый API значительно упростил программирование на более высоких уровнях и сделал NeXT одной из немногих систем, широко использующих DPS. Библиотека оконной системы пользовательского пространства Следующий шаг использовал PostScript для рисования таких элементов, как заголовки и прокрутки. Это, в свою очередь, широко использовало pswraps, которые, в свою очередь, были упакованы в объекты и представлены программисту в объектной форме.

Современные производные

яблоко с Mac OS X операционная система использует центральный оконный сервер (полностью созданный Apple), который кэширует оконную графику как PDF, вместо хранения и выполнения кода PostScript[нужна цитата ]. Графическая библиотека под названием Кварц 2D обеспечивает создание изображений в стиле PostScript с использованием модели рендеринга PDF (подмножество модели PostScript, а также дополнительные настройки), но это используется фреймворками приложений - на сервере окон Mac OS X отсутствует PostScript. Apple решила использовать эту модель по ряду причин, включая избежание лицензионных сборов за DPS и более эффективную поддержку устаревших версий. Углерод и Классический код; Зарисовка приложения используют исключительно растровое изображение. Положения Adobe об авторских правах на стандарт PDF гораздо менее строгие, предоставляя условное разрешение на использование авторских прав любому лицу на бесплатное использование формата в программных приложениях.

Смотрите также

использованная литература

дальнейшее чтение

  • Adobe Systems Incorporated (1990) [1985]. Справочное руководство по языку PostScript (2-е изд.). Издательская компания "Эддисон-Уэсли". (NB. Это издание также содержит описание Display PostScript, которое больше не обсуждается в третьем издании.)

внешние ссылки