PostScript

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
PostScript
Парадигма мультипарадигмальна: стекова, процедурна
Дата появи 1982; 42 років тому (1982)
Творці Джон Варнок, Чарлз Ґешке, Даґ Бротц, Ед Тафт, Біл Пакстон
Розробник Adobe Systems
Останній реліз PostScript 3 (1997)
Система типізації Динамічна, сильна
Основні реалізації Adobe PostScript, TrueImage, Ghostscript
Під впливом від Interpress, Lisp
Вплинула на PDF
Звичайні розширення файлів .ps

PostScript — мова програмування та мова розмітки сторінок, в основному використовується у видавничих системах.

PostScript є стековою мовою програмування, яка схожа на FORTH, а структурами даних — на Lisp. Як і в FORTH, використовується зворотна польська нотація для визначення виразів.

Концепції мови PostScript були створені в 1976 році Джоном Гаффні з компанії Evans & Sutherland, що займається комп’ютерною графікою. У той час Гаффні та Джон Уорнок розробляли інтерпретатор для великої тривимірної графічної бази даних Нью-Йоркської гавані.

Риси[ред. | ред. код]

Спочатку Postscript — це мова описів сторінок. Іншими словами, це мова програмування, що містить команди принтеру (такі принтери називаються PostScript-принтерами), і призначений для друку графіки і тексту. Створений фірмою Adobe. Важлива мета — незалежність від пристрою (реально Postscript не завжди повністю незалежний від пристрою).

Мова[ред. | ред. код]

PostScript — повнофункціональна мова програмування. Хоча програми на PostScript і створюються здебільшого не людьми, а іншими програмами, в принципі ніщо не заважає писати нею програми для обрахунку графіки, реалізації чисельних методів розв'язання математичних задач тощо.

PostScript — інтерпретована стекова мова, схожа на Форт. Синтаксис мови використовує зворотню польську нотацію, що робить непотрібним використання дужок, однак вимагає деякої практики для читання тексту програми через необхідність тримати в голові вміст стеку. Більшість операторів беруть операнди зі стеку і поміщають результат обчислень на стек. Літерали (рядки і числа) поміщають свою копію на стек.

У PostScript для малювання використовується двовимірна прямокутна система координат, початок якої збігається з лівим нижнім кутом сторінки; вісь X за замовчуванням спрямована горизонтально (тобто по ширині сторінки), вісь Y — вертикально. Одиницею вимірювання лінійних координат служить типографський пункт. За допомогою операторів мови початок системи координат може бути перенесено в будь-яку точку (оператор translate), а сама система — повернута на довільний кут у площині сторінки (оператор rotate); масштаб по кожній з двох осей за допомогою оператора scale також може бути змінений.

Наприклад, «дзеркальне» виведення зображення на плівку (т.зв. «Emulsion down») в PostScript-принтерах здійснюється за допомогою одного єдиного оператора scale, що задає негативний масштаб по одній з осей системи координат: наприклад, -1.0 1.0 scale.

PostScript має риси метафайлу, поєднуючи підтримку як векторних, так і растрових зображень.

Шрифти в PostScript тільки векторні. Трохи осторонь стоять так звані Type3-шрифти, в яких для малювання гліфи (процедура /BuildGlyph) може бути використана будь-яка процедура, сформульована в термінах мови PostScript.

Після виходу SP4 для Windows NT 4.0 в 1998 році) при встановленому у системі Adobe Type Manager 4.0 і драйвері AdobePS 5 всі шрифти в не-roman кодуванні, зокрема кирилиця вивантажувалися в PostScript-файл у вигляді Type3-шрифтів, де кожен гліф був представлений у вигляді растрового зображення відповідної роздільної здатності. Вивантаження шрифту у вигляді растрових зображень створило багато проблем при підготовці до виводу на фотонабір і додрукарської підготовки взагалі. Ця помилка була виправлена в AdobePS 5.1 і Adobe Type Manager 4.1, які потім увійшли в дистрибутив Windows 2000.

"Hello world"[ред. | ред. код]

Програма Hello world!, на PostScript може виглядати так:

 %!PS
 /Courier             % назва бажаного шрифта
 20 selectfont        % вибрати розмір і задати цей шрифт як поточний
 72 500 moveto        % Перемістити курсор в дані координати
                      % (початок в лівому нижньому куті сторінки)
 (Hello world!) show  % вивести текст в дужках
 showpage             % показати все на сторінці

Функції[ред. | ред. код]

Окрім звичайних математичних операторів, в мові визначено багато функцій для роботи з графічними об'єктами.

Використання[ред. | ред. код]

Історично, PostScript призначено для використання у видавничих системах. Перед роздруковуванням файлу в форматі PostScript, його зміст інтерпретується спеціальним інтерпретатором, який видає команди для друку.

Перетворити будь-який документ у формат Postscript не так вже й складно. Для цього достатньо, щоб документ можна було роздрукувати з якої-небудь Windows-програми. Наприклад, маючи MS Word, можна перетворити .doc у Postscript, маючи Netscape або Internet Explorer, можна перетворити HTML в Postscript, і т. д. Для цього потрібно:

  • встановити на комп'ютері драйвер PostScript-принтера (у Windows 95: Пуск -> Настройка -> Панель управління -> Принтери -> Установка принтера)
  • роздрукувати документ, вибравши цей драйвер і встановивши опцію «Друк у файл» (краще всього в установках драйвера принтера задати «Архівний формат»)
  • вкажіть, в який файл зберегти («роздрукувати») документ (бажано при цьому використовувати розширення .ps, а не .prn, як пропонують деякі програми).

Знайти драйвер PostScript-принтера, маючи доступ до Інтернет, не складає особливих труднощів.

Якщо у Вас є PostScript-принтер, то, як природно чекати, можна роздрукувати на ньому файл Postscript безпосередньо, запустивши команду вигляду:

<команда друку> <ім'я файлу>

Для проглядання/друку файлів Postscript можна використовувати безкоштовні програми Ghostscript, GSView.

Документи у форматі Postscript часто архівують як zip або gzip, тому можуть знадобитися відповідні розпакувальники.

При використанні Ghostscript/gsview, можна зіткнутися з проблемою, коли програма бачить тільки першу сторінку тексту. Спробуйте в цьому випадку використати текстовий редактор, щоб відкрити файл і замінити кожен рядок, який починається з %! Ps-adobe- на %! Це, принаймні, дозволить перегортати файл вперед (але не назад).

Використовуючи відповідні інтерпретатори PostScript (наприклад, Ghostscript), можна переглядати зображення на моніторі комп'ютера.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]