Rich Text Format
Rich Text Format, RTF (англ. rich — богатый; «формат обогащённого текста») — проприетарный[5][6] межплатформенный формат хранения текстовых документов с форматированием, предложенный группами программистов, основавшими компании Microsoft и Adobe, как метатеговый формат для редактора Word в 1982 году. С тех пор спецификация формата несколько раз изменялась. После разрыва отношений с Microsoft компания Adobe продолжила самостоятельное развитие метатэгового языка, заложенного в основу RTF, создав в 1985 году язык PostScript.
Rich Text Format | |
---|---|
Расширение |
.rtf [1] |
MIME-тип |
text/rtf[2] application/rtf[3] |
Сигнатура |
{\rtf |
Разработчик | Майкрософт[4] |
Опубликован | 1987 |
Последний выпуск | |
Тип формата | document file format |
Открытый формат? | Нет |
Пример RTF-документа
В качестве примера рассмотрим следующий код в формате RTF:
{\rtf1 Привет! \par {\i Это} некий отформатированный {\b текст}.\par }
который будет выглядеть в текстовом процессоре с поддержкой RTF как
- Привет!
- Это некий отформатированный текст.
Символ \
указывает на начало управляющего кода. Код \par
означает переход к новой строке, \b
— переключение на полужирный шрифт. Фигурные скобки обозначают группу; например, в приведённом выше примере группой ограничивается действие кода \b
. Всё остальное, кроме фигурных скобок и управляющих кодов — это обычный текст. Правильный RTF-документ должен состоять из группы, начинающейся с управляющего кода \rtf
.
Как видно из примера, основой формата является простой текст, то есть формат является человеко-читаемым. Но в большинстве случаев файлы RTF, генерируемые автоматически такими процессорами как MS Word, содержат столько управляющих последовательностей, что разобраться в них простым чтением практически невозможно.
Интересно, что синтаксис формата RTF сильно напоминает формат LaTeX, но в отличие от последнего, управляющие последовательности являются не макросами, доступными для изменения, а командами с фиксированным поведением.
Кодирование символов
Хотя стандарт допускает 8-битное кодирование в отдельных случаях[7], текст в формате 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.
См. также
Ссылки
- Rich Text Format (RTF) Specification, Version 1.9.1 (англ.) (19 марта 2008). Дата обращения: 9 июля 2021. Архивировано 22 апреля 2021 года.
- Microsoft. Rich Text Format (RTF) Specification, version 1.6 (англ.). msdn (май 1999). Дата обращения: 9 июля 2021. Архивировано 10 января 2013 года.
- GC0165: RICH-TEXT FORMAT (RTF) SPECIFICATION (англ.) (июнь 1992). Дата обращения: 9 июля 2021. Архивировано 1 августа 2003 года.
Примечания
- http://fileformats.archiveteam.org/wiki/RTF
- Text Media Types (недоступная ссылка). iana.org (8 июня 1993). Дата обращения: 13 марта 2010. Архивировано 2 июня 2012 года.
- Application Media Types (недоступная ссылка). iana.org (18 июня 2007). Дата обращения: 20 августа 2010. Архивировано 2 июня 2012 года.
- http://apps.nationalarchives.gov.uk/pronom/fmt/45
- tutorial: Rich Text Format (RTF) (недоступная ссылка). Colorado State University. Дата обращения: 13 марта 2010. Архивировано 2 июня 2012 года.
- 4.3 Non-HTML file formats (недоступная ссылка). e-Government Unit (май 2002). Дата обращения: 13 марта 2010. Архивировано 2 июня 2012 года.
- Например \binN