Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






PostScript






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

Концепция языка PostScript была создана в 1976 г., когда Джон Вонок (John Warnock), работая в фирме Evans и Sutherland, известной компании компьютерной графики, разрабатывал ин­терпретатор для большой трехмерной графической базы данных по нью-йоркской гавани. Вонок задумывал язык систем проекти­рования для обработки графической информации.

Ранние принтеры были устроены так, чтобы печатать символы текста, обычно поступающего на вход в коде ASCII. Было множество технологий для этой цели, но наиболее распространенным было то, что печатаемые символы были «намертво» проштампованы на клавиши пишущей машинки, отлиты в металле для линотипов или нанесены на негативы фотонаборных устройств и поэтому их было физически трудно изменить.

Это изменилось до некоторой степени с распространением матричных печатающих устройств. Символы на этих системах могли быть «нарисованы» как совокупность точек, соответст­вующих определенным таблицам шрифтов в принтере. По мере усовершенствования матричные печатающие устройства стали включать несколько встроенных шрифтов, из которых пользова­тель мог выбирать, а некоторые модели давали пользователям возможность передать (загрузить) их собственные заказные шрифты в принтер.

Матричные печатающие устройства также дали возможность печатать растровую графику. Графические символы интерпрети­ровались компьютером и посылались как ряд точек на принтер, используя «escape-последовательности» (см. табл. 2.1). Эти язы­ки управления менялись от принтера к принтеру, требуя разра­ботки многочисленных драйверов.

Векторный вывод графических символов возлагался на другие устройства — плоттеры (графопостроители). Они также могли ис­пользовать общий командный язык — HPGL, но имели ограни­ченное использование для чего-нибудь другого, кроме вывода векторной графики. Кроме того, они были дорогими и медленны­ми, и таким образом не имели широкого распространения.

PostScript порвал с этой традицией, комбинируя лучшие осо­бенности как принтеров, так и плоттеров. Как и плоттеры, PostScript предложил высококачественную штриховую графику и единый язык управления, который мог использоваться на прин­терах любых марок. Как матричные печатающие устройства, PostScript предложил простые способы генерировать страницы текста и растровой графики. Но, в отличие от обоих, PostScript мог располагать все эти данные на единой странице, что предла­гало гораздо больше гибкости, чем любой принтер или плоттер. PostScript выходил за пределы типичного языка управления принтером и был полным языком программирования. Многие прикладные программы могут преобразовать документ в про­грамму PostScript, выполнение которой приведет к формирова­нию образа оригинала документа. Эту программу затем можно передать на интерпретатор принтера, который осуществит пе­чать документа, или в другое приложение, которое отобразит до­кумент на экране. Так как документ-программа не требует изме­нений в зависимости от адресата, он называется независи­мым от устройства (device-independent).

PostScript примечателен тем, что может осуществлять расте­ризацию образа в процессе обработки данных («на лету»), по­скольку все, даже текст, определено в терминах прямых линий и кубических кривых Безье (cubic Bezier curves, ранее использовавшихся только в САПР — системах автоматизированного проектирования), что позволяет осуществлять произвольное масштабирование, вращение изображения и другие преобразования. В процессе работы интерпретатор программы PostScript преобра­зует эти команды в точки изображения, формируя вывод. По­этому интерпретаторы PostScript также иногда называют про­цессорами растровых изображений (PostScript Raster Image Processors, или RIP).

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

В 1980-е гг. Adobe получал большую часть своего дохода за счет лицензионных выплат от реализации PostScript для принте­ров, известных как процессоры растровых изображений (raster image processor — RIP). Поскольку в середине 1980-х стало дос­тупным множество новых платформ на основе RISC-процессо­ров, возникло мнение, что поддержка новых машин средствами Adobe явно недостаточна.

Это и проблемы стоимости приводили к реализации PostScript третьими сторонами, что стало обычным, особенно в дешевых принтерах (где лицензионная плата была точкой пре­ткновения), а также в высокопроизводительном типографском наборном оборудовании (где требования скорости вызывали не­обходимость поддержки новых платформам быстрее, чем Adobe могла бы это обеспечить). В какой-то момент Microsoft и Apple объединились, чтобы попытаться преодолеть монополию лазер­ных принтеров Adobe. Microsoft лицензировала Apple, приобре­тенный ею совместимый с Postscript интерпретатор —Truelmage, а Apple лицензировала Microsoft новый формат шрифтов — TrueType. Apple достигла соглашения с Adobe и лицензировала подлинный PostScript для своих принтеров, но TrueType стал стандартной технологией контурного шрифта как для Windows, так и для Macintosh.

Много распространенных и недорогих лазерных принтеров не поддерживают PostScript, а используют драйверы, которые просто растеризуют исходные форматы графических символов вместо того, чтобы сначала преобразовать их в PostScript. Когда поддерж­ка PostScript необходима для такого принтера, может использо­ваться бесплатный PostScript-совместимый интерпретатор, име­нуемый Ghostscript. Ghostscript печатает документы PostScript на «нe-PostScriptoвских» принтерах, используя мощности ЦП ком­пьютера для растеризации и передавая на принтер результат как большой точечный рисунок (single large bitmap). Ghostscript может также использоваться для предварительного просмотра докумен­тов PostScript на компьютерном мониторе и преобразовать стра­ницы PostScript в растровую графику (файлы типов tiff и рng) и векторные форматы (например, pdf).

PostScript является полным язык программирования (в смыс­ле Тьюринга). Как правило, PostScript-программы создаются не программистами, а другими программами. Конечно, есть возмож­ность создать графические образы или выполнить какие-либо вы­числения, кодируя вручную на ЯП PostScript. PostScript — интер­претируемый язык на основе стека (стековый язык), подобный Forth, использующий структуры данных, аналогичные встречаю­щимся в Лиспе (Lisp) и пр. Большинство операторов (в дру­гих языках используется термин функция) принимает значения параметров из стека и помещает результат выполнения в стек.

Синтаксис языка опирается на обратную польскую запись (reverse Polish notation — RPN), которая делает круглые скобки ненужными, но при которой чтение программы требует некоторых навыков, поскольку требуется помнить содержание стека. Рассмотрим ряд примеров.

С помощью оператора в RPN

3 4 add 5 1 sub mul

будет вычислен такой результат: (3 + 4) х (5 - 1).

Чтобы производить графические образы, PostScript использу­ет обычную декартову систему координат, например оператор

100 200 moveto 300 400 lineto stroke

перемещает «курсор» в точку с координатами (100, 200), а затем чертит прямую линию к точке (300, 400).

50 70 moveto 100 200 50 80 100 100 curveto stroke

создает кубическую Кривую Безье между точками (50, 70) и (100, 100), проходящую через контрольные точки (100, 200) и (50, 80).

250 250 moveto (Programming Languages) show

поместит начало текста «Programming Languages» в точку с координатами (250, 250). Шрифт, которым будет набран текст, может быть предварительно задан (например, командной строкой

/Courier findfont 12 scalefont setfont).

Portable Document Format (PDF)

Переносимый формат документов — PDF — формат файла, созданный Adobe Systems в 1993 г. для использования в настоль­ных издательских системах. Формат PDF позволяет представлять двумерные документы в форме, независимой от разрешающей способности устройств печати (или дисплеев). Каждый файл формата PDF содержит полное описание двумерного документа (с появлением Acrobat 3D — трехмерных документов), который включает текст, шрифты, изображения и двумерную векторную графику, которые образуют документ.

Когда формат PDF впервые появился в начале 1990-х гг., он не сразу завоевал популярность. В частности, ранние версии формата PDF не имели поддержки механизмов внешних гипер­ссылок, что ограничивало его применимость в Internet. Кроме того, существовали конкурирующие форматы, например, Envoy, Common Ground Digital Paper и даже собственный формат Adobe — PostScript (.ps). В дальнейшем Adobe начала бесплатно распространять программу чтения Acrobat Reader (сейчас — Adobe Reader) и продолжала поддерживать формат PDF в его медленном многолетнем «пути наверх». PDF в конечном счете стал фактическим стандартом для печатных документов.

Формат файла формата PDF подвергся нескольким измене­ниям с выпуском новых версий Adobe Acrobat. Известно восемь версий формата PDF - 1.0 (1993 г.), 1.1 (1994 г.), 1.2 (1996 г.), 1.3 (1999 г.), 1.4 (2001 г.), 1.5 (2003 г.), 1.6 (2005 г.) и 1.7 (2006 г.) которые соответствуют выпускам Adobe Acrobat от 1.0 до 8.0

Формат PDF использует следующие технологии:

• подмножество языка программирования и описания стра­ниц PostScript, чтобы генерировать размещение и графику;

• систему встраивания и замены шрифтов для обеспечения перемести мости документов;

• структурированную систему хранения, позволяющую свя­зывать эти элементы в отдельный файл, с использованием сжатия данных при необходимости.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.