![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
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, чтобы генерировать размещение и графику; • систему встраивания и замены шрифтов для обеспечения перемести мости документов; • структурированную систему хранения, позволяющую связывать эти элементы в отдельный файл, с использованием сжатия данных при необходимости.
|