Loading AI tools
З Вікіпедії, вільної енциклопедії
PostScript — мова програмування та мова розмітки сторінок, в основному використовується у видавничих системах.
PostScript | |
---|---|
Парадигма | мультипарадигмальна: стекова, процедурна |
Дата появи | 1982 |
Творці | Джон Варнок, Чарлз Ґешке, Даґ Бротц, Ед Тафт, Біл Пакстон |
Розробник | Adobe Systems |
Останній реліз | PostScript 3 (1997) |
Система типізації | Динамічна, сильна |
Основні реалізації | Adobe PostScript, TrueImage, Ghostscript |
Під впливом від | Interpress, Lisp |
Вплинула на | |
Звичайні розширення файлів | .ps |
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!, на 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-принтера, маючи доступ до Інтернет, не складає особливих труднощів.
Якщо у Вас є PostScript-принтер, то, як природно чекати, можна роздрукувати на ньому файл Postscript безпосередньо, запустивши команду вигляду:
<команда друку> <ім'я файлу>
Для проглядання/друку файлів Postscript можна використовувати безкоштовні програми Ghostscript, GSView.
Документи у форматі Postscript часто архівують як zip або gzip, тому можуть знадобитися відповідні розпакувальники.
При використанні Ghostscript/gsview, можна зіткнутися з проблемою, коли програма бачить тільки першу сторінку тексту. Спробуйте в цьому випадку використати текстовий редактор, щоб відкрити файл і замінити кожен рядок, який починається з %! Ps-adobe- на %! Це, принаймні, дозволить перегортати файл вперед (але не назад).
Використовуючи відповідні інтерпретатори PostScript (наприклад, Ghostscript), можна переглядати зображення на моніторі комп'ютера.
Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. (грудень 2015) |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.