logo
Трев_Lecture

3.3.Формат розмітки тексту rtf

Формат RTF (Rich Text Format) був визначений фірмою Microsoft як стандартний формат для обміну текстовими документами. Даний формат не є стандартом, однак підтримується фірмою Microsoft і розроблювачами програмних додатків, орієнтованих на програмно-інформаційну сумісність з операційною системою Windows і її додатка. Так, наприклад, у Windows починаючи з версії 2.0 цей формат уведений як Clipboard-формат, завдяки чому можливий обмін даними між різними прикладними програмами. Крім того, формат RTF підтримується текстовими редакторами Word для Macintosh починаючи з версії 3.0 і Word для PC починаючи з версії 4.0 для DOS і з версії 2.0 для Windows. В даний момент практично будь-яка програма, що працює з текстом, підтримує цей формат.

До складу заголовка файлу входять ідентифікатор RTF-файлу, команда вибору гарнітури, команда вибору шрифту за замовчуванням і таблицею доступних шрифтів, таблиця кольорів (RGB) і таблиця стилів.

У тілі файлу розміщаються дані публікації у виді двійкових кодів ASCII. У форматі RTF використовуються тільки символи, що представлені стандартом ASCII, а також MAC- і PC-символьного набору. Крім тексту, файл у RTF-форматі містить команди керування, що також реалізовані з використанням цього стандарту.

Іноді формат RTF називають мовою розмітки тексту. Це, напевно, зв'язане з тим, що формат містить оператори, що керують слова і символи, інші елементи опису розміщення тексту і графіки.

Команди керування розділяються на керуючі слова (control words) і керуючі символи (control symbols).

Керуюче слово являє собою послідовність символів з роздільником (delimiter) наприкінці:

\набір_символів <роздільник>

Перед керуючим словом вводиться зворотна коса риса «\» (backslash). Як роздільники можуть використовуватися наступні символи:

У форматі RTF для завдання керуючої послідовності символів використовуються букви від «А» до «Z» і від «а» до «z», а також цифри від 0 до 9. Національні символи до керуючого інформації не відносяться.

Як керуючі символи використовуються окремі букви. Перед кожним керуючим символом вводиться зворотна коса риса «\»:

\керуючий_символ

В даний час визначені тільки деякі з цих символів. Тому при читанні невідомі символи можуть бути пропущені.

У форматі RTF існує можливість поєднувати окремі послідовності в групи за допомогою дужок:

{ - початок групи

} - кінець групи

Такі групи створюються, наприклад, при описі виносок, колонтитулів і т.п. Якщо символи «\», «{« чи «}» розміщаються усередині звичайного тексту, то перед ними ставиться зворотна коса риска:

\\;

\{;

\}.

Це дає змогу програмі, що читає RTF-послідовність, розпізнати, що символ не слід інтерпретувати як керуючий.

У форматі RTF використовуються також символьні коди для керування друком.

У форматі RTF є керуючі слова спеціального призначення. До них можна віднести:

\chpgn - керуюче слово change page number виводить поточний номер сторінки;

\chftn - дана послідовність (change footnote) активізує автоматичну нумерацію виносок;

\chdate - за допомогою керуючого слова change date виводиться біжуча дата;

\chtime - за допомогою change time виводиться біжучий час;

\chatn - посилання на примітку (текст випливає в групі);

\chftnsep - свідчить про зміну лінії, що відокремлює виноски від тексту;

\: - послідовність позначає підпункт індексу;

\~ - група символів задає твердий (такий, що не розривається) пробіл між двома словами, тобто в цій позиції пропозиція не може бути розділена при переносі на наступний рядок;

\- - символи позначають м'який перенос (nonrequired hyphen);

\_ - символи позначають перенос, що не розривається, (nonbreaking hyphen), на місці якого слово не може бути розділене;

\page - дана послідовність задає перехід на нову сторінку;

\line - ця послідовність викликає перехід на новий рядок у тексті;

\раr - за допомогою даної послідовності в тексті позначається кінець абзацу. Послідовність \раr може замінятися послідовністю \10 чи \13. При цьому \10 відповідає ASCII-символу з кодом 10 (carriage return);

\sect - ця послідовність позначає кінець текстового фрагменту чи текстового абзацу.

За допомогою керуючих слів можна робити основне налаштування програми читання формату RTF. Ці керуючі слова можуть зустрічатися тільки на початку документу чи на початку групи. Всі оператори разом з параметрами повинні бути укладені в дужки, наприклад:

{\rtf0\pc...}

До основних операторів формату можна віднести:

\rtf <параметр> - даний оператор задає мітку початку файлу. Як параметр програма, за допомогою якої створюється файл, може вказувати номер версії, наприклад:

{\rtf0...}

Мітка повинна стояти на початку файлу. Після цього оператора можуть випливати інші оператори чи закриваюча дужка.

Установка виду кодування для тексту, що зберігається, здійснюється за допомогою операторів, представлених у табл. 3.1.

Таблиця 3.1

Оператор

Значення

\ansi

Текст зберігається в стандартному ASCII-форматі. Цей формат використовується, наприклад, у Windows

\mac

Текст зберігається в кодуванні Macintosh

\pc

Для виводу тексту використовується кодування символів

\pca

IBM-PCIBM-PC Code Page 850 (модель PS/2)

Для передачі текстів між різними системами використовується оператор \ansi.

Оператор \colortbl у Windows-додатках і інших програмах застосовується для визначення палітри кольорів, що використовуються. Найчастіше палітра складається з 16 різних кольорів, що отримані шляхом комбінації базових кольорів - RGB (червоного, зеленого і синього). Команда \colortbl дає змогу змінити окремі визначення в палітрі. Для кожного кольору в таблиці вказується величина червоної, зеленої і синьої складової. Кожен колір описується трьома параметрами:

\red000 - червоний;

\green000 - зелений;

\blue000 - синій.

Замість 000 вказується величина інтенсивності кольору в діапазоні від 0 до 255. Наприклад, у таблиці, що складається з 16 кольорів, повинні бути визначені знов 0-й і 2-й кольори. Для перевизначення кольорів може бути задана послідовність:

{\colortbl\red128\green64\blue128\;;\red0\green64\blue128;}

Визначення кольору завершується крапкою з комою. Оскільки перший колір залишається без змін, у послідовності два символи «;» розташовані один за іншим. Послідовність завершується закриваючою дужкою.

Оператор \cfn визначає колір фону (при стандартному настроюванні n=0).

Оператор \cbn визначає колір символу (при стандартному настроюванні n=0).

Оператор \fonttbl використовується для побудови таблиці шрифтів і співвідносить ім'я шрифту (групи шрифтів) з номером шрифту. При визначенні шрифту можна використовувати оператори, представлені в табл. 3.2.

Таблиця 3.2

Оператор

Значення

\fnil

Ім'я групи шрифтів невідомо. При виводі повинен використовуватися стандартний шрифт

\froman

Повинні використовуватися шрифти групи Roman (наприклад, Times Roman)

\fswiss

Цей оператор наказує використання шрифтів із групи Swiss (Helvetica, Swiss і т.д.)

\fmodern

Можуть використовуватися шрифти Pica, Elite і Courier

\fscript

Використовуються курсивні шрифти групи Script

\fdecor

При вказівці цього оператора шрифти повинні вибиратися з групи Decor (Old English і т.д.)

\ftech

Вибір групи шрифтів з технічними і математичними символами (Symbol і т.д.)

Команда для створення групи шрифтів може складатися з таких операторів:

{\fonttbl\f0\fnil default;}

{\fl\froman roman h;}

{\f2\fswiss helvetica;}

Після ключового слова \fonttbl випливає перший номер шрифту \f0. Далі йде визначення групи шрифтів. Тут після номера 0 зазначене \fnil, тобто ім'я групи невідомо. Наступний параметр позначає ім'я обраного шрифту (наприклад, roman h). Вказівка default говорить програмі, що зчитує, про те, що варто використовувати стандартний шрифт. Після імені шрифту стоїть крапка з комою. У приведеному прикладі визначені тільки шрифти з номерами 1 і 2. Уся послідовність може бути об'єднана фігурними дужками в групу.

Таблиця шрифтів повинна бути заповнена значеннями до того, як зустрінеться оператор \stylesheet чи текст. Стандартний шрифт вводиться оператором \deffn.

Оператор \stylesheet визначає шрифт абзацу, тобто розмір, накреслення й ім'я гарнітури, а також спосіб вирівнювання тексту абзацу. При цьому використовуються два ключових оператори, опис яких представлене в табл. 3.3.

Таблиця 3.3

Оператор

Значення

\sbasedon000

Замість символів 000 указується номер виду шрифту, що використовується в якості біжучого

\snext000

Призначає номер наступного виду шрифту (style), що стане біжучим

Оператор може мати вигляд:

{\stylesheet\s0\f3\fs20\qj Normal;}

{\sl\f3\fs30\b\qc Heading Level 3;}

Шрифти нумеруються числами від 0 до n (\s0...). У першому рядку стилю абзацу 0 (\s0) пропонується ім'я Normal. Вивід тексту виконується шрифтом 3 (\f3), розміром 10 пунктів (\fs20). Параметр \qj говорить про те, що напис повинен вирівнюватися по форматі. Другий рядок визначає стиль шрифту 1, що отримує ім'я Heading Level 3. Шрифт має розмір 15 пунктів, жирне накреслення (\b = bold) і при виведенні напис центрується (\qc).

Оператор \pict використовується при описі малюнку у форматі бітової карти (bitmap). Оператори містять опис малюнку у виді шістнадцядкових значень. Ці оператори можуть бути вибірково використані для визначення геометрії малюнка чи його формату.

Для завдання параметрів колонтитулів до складу формату введені наступні оператори:

Група операторів \xe описує стиль нумерації сторінок (табл. 3.4).

Таблиця 3.4

Оператор

Опис

\bxe

Для номерів сторінок задається жирне накреслення (bold)

\ixe

Для номерів сторінок задається курсивне накреслення (italic)

\txe text

Замість номера сторінки використовується текст

\rxe bookmark

Генерація номерів сторінок для області, що містить закладку (bookmark)

У складі формату передбачені оператори форматування документа (document formatting). Їхня дія поширюється на весь текстовий матеріал.

Команда \paperw000 задає ширину листа в twips (один twip дорівнює 1/20 пункту чи 1/1440 дюйма). Значення ширини вказується замість 000. Якщо команда відсутня, то ширина листа встановлюється рівною 12240 twips.

Команда \рареrh000 задає висоту листа в twips. Значення висоти вказується замість 000. Якщо команда відсутня, то висота листа встановлюється рівною 15840 twips.

За допомогою команди \margl000 можна встановлювати ширину лівого поля при друці. Стандартна ширина поля дорівнює 1800 twips.

За допомогою команди \margr000 можна встановити ширину правого поля при друці. Стандартна ширина поля дорівнює 1800 twips.

Оператор \margt000 служить для встановлення ширини верхнього поля (margin top) при друці. Стандартна ширина поля дорівнює 1440 twips.

За допомогою команди \ margb000 установлюється ширина нижнього поля (margin bottom) при друці. Стандартна ширина поля дорівнює 1440 twips.

Оператор \facingp (facing page) визначає зовнішній вигляд сторінки. Він установлює, наприклад, друкується колонтитул на парних чи на непарних сторінках. Якщо за оператором випливає параметр 0, то вивід придушується.

За допомогою оператора \gutter000 можна встановити ширину поля підшивки (gutter) усередині facing page.

Команда \deftab000 визначає величину табулятора. Стандартне значення складає 72 twips.

Передбачено роботу з виносками.

Якщо в документі зазначений оператор \endnotes, то тексти виносок розміщаються наприкінці фрагменту.

За замовчуванням тексти виносок виводяться наприкінці сторінки (footnotes bottom justified). Оператор \ftobj дає змогу переключитися з установки, заданої оператором \endnotes, на стандартну установку.

При використанні оператора \ftntj виноски виводяться в тексті (footnotes top justified).

При вказівці оператора \ftnrestart нумерація виносок на кожній сторінці починається з 1. Параметр 0 відключає цю установку.

Оператор \ftnsep визначає роздільник, що відокремлює виноски від тексту.

Оператор \ftnsepc визначає роздільник, що відокремлює виноски, що переходять на наступну сторінку, від тексту.

Команда \ftncn задає оцінку для наступної виноски.

Команда \enddoc визначає виноску наприкінці документа.

Команда \landscape використовується для завдання альбомної орієнтації (landscape) видання. При вказівці параметра 0 відновлюється книжкова орієнтація.

У складі формату RTF є оператори для завдання накреслення і способу виділення символів при створенні редакторських приміток, форматування секції (section formatting); команди завдання відстані між рядками; оператори нумерації рядків; оператори завдання атрибутів колонтитулів; команди вирівнювання; оператори форматування абзацу (paragraph formatting); установки параметрів відступу першого рядка абзацу (first line indent); оператори завдання атрибутів рамки навколо абзацу; оператори форматування таблиць і ін.

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

Формат RTF застосовується для представлення електронних видань, створених у середовищі MS Office, і додатків операційної системи Windows. Звичайно він виконує функції обмінного формату.