Rich Girl
- 1 year ago
- 0
- 0
Rich Text Format , RTF ( англ. rich — богатый; «формат обогащённого текста») — проприетарный межплатформенный формат хранения текстовых документов с форматированием, предложенный группами программистов, основавшими компании Microsoft и Adobe , как метатеговый формат для редактора Word в 1982 году . С тех пор спецификация формата несколько раз изменялась. После разрыва отношений с Microsoft компания Adobe продолжила самостоятельное развитие метатэгового языка, заложенного в основу RTF, создав в 1985 году язык PostScript .
В качестве примера рассмотрим следующий код в формате RTF:
{\rtf1 Привет! \par {\i Это} некий отформатированный {\b текст}.\par }
который будет выглядеть в текстовом процессоре с поддержкой RTF как
- Привет!
- Это некий отформатированный текст .
Символ
\
указывает на начало
управляющего кода
. Код
\par
означает переход к новой строке,
\b
— переключение на полужирный шрифт. Фигурные скобки обозначают
группу
; например, в приведённом выше примере группой ограничивается действие кода
\b
. Всё остальное, кроме фигурных скобок и управляющих кодов — это обычный текст. Правильный RTF-документ должен состоять из группы, начинающейся с управляющего кода
\rtf
.
Как видно из примера, основой формата является простой текст, то есть формат является человеко-читаемым. Но в большинстве случаев файлы 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.