Главная
Новости
Строительство
Ремонт
Дизайн и интерьер




13.02.2021


07.02.2021


24.01.2021


24.01.2021


24.01.2021





Яндекс.Метрика

Rich Text Format

24.03.2022

Rich Text Format, RTF (англ. rich — богатый; «формат обогащённого текста») — проприетарный межплатформенный формат хранения текстовых документов с форматированием, предложенный группами программистов, основавшими компании Microsoft и Adobe, как метатеговый формат для редактора Word в 1982 году. С тех пор спецификация формата несколько раз изменялась. После разрыва отношений с Microsoft компания Adobe продолжила самостоятельное развитие метатэгового языка, заложенного в основу RTF, создав в 1985 году язык PostScript.

Пример RTF-документа

В качестве примера рассмотрим следующий код в формате RTF:

{ tf1 Привет! par {i Это} некий отформатированный { текст}.par }

который будет выглядеть в текстовом процессоре с поддержкой RTF как

Привет!
Это некий отформатированный текст.

Символ указывает на начало управляющего кода. Код par означает переход к новой строке,  — переключение на полужирный шрифт. Фигурные скобки обозначают группу; например, в приведённом выше примере группой ограничивается действие кода . Всё остальное, кроме фигурных скобок и управляющих кодов — это обычный текст. Правильный RTF-документ должен состоять из группы, начинающейся с управляющего кода tf.

Как видно из примера, основой формата является простой текст, то есть формат является человеко-читаемым. Но в большинстве случаев файлы RTF, генерируемые автоматически такими процессорами как MS Word, содержат столько управляющих последовательностей, что разобраться в них простым чтением практически невозможно.

Интересно, что синтаксис формата RTF сильно напоминает формат LaTeX, но в отличие от последнего, управляющие последовательности являются не макросами, доступными для изменения, а командами с фиксированным поведением.

Кодирование символов

Хотя стандарт допускает 8-битное кодирование в отдельных случаях, текст в формате RTF обычно кодируется 7-битными символами. Это ограничило бы нас набором символов ASCII, но остальные символы можно кодировать с помощью escape-последовательностей. Символы могут кодироваться двумя способами: кодами в рамках указанной кодировки символов либо кодами в Юникоде. Например, если задана кодировка Windows-1251, то код 'e8 соответствует букве и (e8 — это число 232 в 16-ричной системе счисления — порядковый номер буквы «и» в кодировке Windows-1251). Если требуется символ в Юникоде, используется код u, сразу после которого указывается 16-битное число со знаком в десятичной системе счисления (значения, большие 32767, представляются как отрицательные), а за ним — символ для представления в программах, не имеющих поддержки Юникода. Например, арабская буква «ب» представляется в виде последовательности u1576?, причём в не-юникодных программах на месте этого символа выведется «?».

Использование

Большинство текстовых процессоров реализует импорт/экспорт в формат RTF.

Текстовый редактор WordPad, встроенный в Microsoft Windows, по умолчанию сохраняет документы в формате RTF. Текстовые процессоры AbiWord и OpenOffice.org позволяют просматривать и редактировать файлы в формате RTF. Редактор по умолчанию в Mac OS X — TextEdit, также поддерживает RTF.