Rich Text Format
| Расширение |
|
|---|---|
| MIME | |
| Сигнатура |
|
| Разработан | |
| Последний выпуск |
1.9.1 / 2008-03-19 |
| Тип формата | |
| Открытый формат? |
Rich Text Format (RTF, «формат обогащённого текста» (rich с английского — богатый)) — проприетарный[3][4] межплатформенный формат хранения размеченных текстовых документов, предложенный группами программистов, основавшими компании Microsoft и Adobe, как метатэговский формат для редактора Word в 1982 году. С тех пор спецификация формата несколько раз изменялась. RTF-документы поддерживаются всеми современными текстовыми процессорами. После разрыва отношений с Microsoft компания Adobe продолжила развитие метатэговского языка, заложенного в основу RTF, создав в 1985 году язык PostScript.
Содержание |
[править] Пример RTF-документа
В качестве примера, рассмотрим следующий код в формате RTF:
{\rtf1
Привет!
\par
{\i Это} некий
отформатированный {\b текст}.\par
End
}
который будет выглядеть в текстовом процессоре с поддержкой RTF как
- Привет!
- Это некий отформатированный текст.
- End
Символ \ указывает на начало управляющего кода. Код \par означает переход к новой строке, \b — переключение на полужирный шрифт. Фигурные скобки обозначают группу; например, в приведённом выше примере группой ограничивается действие кода \b. Всё остальное, кроме фигурных скобок и управляющих кодов — это обычный текст. Правильный RTF-документ должен состоять из группы, начинающейся с управляющего кода \rtf.
Как видно из примера, основой формата является простой текст, то есть формат является человеко-читаемым. Но в большинстве случаев файлы RTF, генерируемые автоматически такими процессорами как MS Word, содержат столько управляющих последовательностей, что разобраться в них простым чтением практически невозможно.
Интересно, что синтаксис формата RTF сильно напоминает формат LaTeX, но в отличие от последнего, управляющие последовательности являются не макросами, доступными для изменения, а командами с фиксированным поведением.
[править] Кодирование символов
Хотя стандарт допускает 8-битное кодирование в отдельных случаях[5], текст в формате RTF обычно кодируется 7-битными символами. Это ограничило бы нас набором символов ASCII, но остальные символы можно кодировать с помощью escape-последовательностей. Символы могут кодироваться двумя способами: кодами в рамках указанной кодировки символов, либо кодами в Юникоде. Например, если задана кодировка Windows-1251, то код \'e8 соответствует букве и. Если требуется символ в Юникоде, используется код \u, сразу после которого указывается 16-битное число в десятичной системе счисления, а за ним — символ для представления в программах, не имеющих поддержки Юникода. Например, арабская буква «ب» представляется в виде последовательности \u1576?, причем в не-юникодных программах на месте этого символа выведется «?».
[править] Использование
Большинство текстовых процессоров реализуют импорт/экспорт в формат RTF, благодаря чему этот формат часто используется как «общий», для передачи текста из одной программы в другую.
Текстовый редактор WordPad, встроенный в Microsoft Windows, по умолчанию сохраняет документы в формате RTF. Текстовые процессоры AbiWord и OpenOffice.org позволяют просматривать и редактировать файлы в формате RTF. Редактор по умолчанию в Mac OS X — TextEdit, также поддерживает RTF.
Поскольку основу RTF составляет обычный текст, довольно просто создать RTF на любом языке программирования. Например, в Perl для этих целей есть модуль RTF::Writer. В PHP можно использовать библиотеку PhpRtf Lite для генерации в браузере RTF документов «на лету».
[править] Ссылки
- Спецификация RTF 1.9 для Word 2007 (февраль 2007)
- Спецификация RTF 1.8 для Word 2003 (апрель 2004)
- Спецификация RTF, версия 1.6 (май 1999) в MSDN
- Спецификация RTF, версия 1.0 (июнь 1992) в проекте latex2rtf
[править] Примечания
- ↑ Text Media Types. iana.org (8 июня 1993). Проверено 13 марта 2010.
- ↑ Application Media Types. iana.org (18 июня 2007). Проверено 20 августа 2010.
- ↑ tutorial: Rich Text Format (RTF). Colorado State University. Проверено 13 марта 2010.
- ↑ 4.3 Non-HTML file formats. e-Government Unit (май 2002). Проверено 13 марта 2010.
- ↑ Например \binN
|
|
|
|---|---|
| Редактируемые форматы документов | Compound Document Format · Формат Microsoft Office XML · MS Word Document (DOC) · Office Open XML (DOCX, др.) · Open Document Architecture · OpenDoc · OpenDocument (ODF) · OpenOffice.org XML · Revisable-Form Text · Rich Text Format (RTF) · Uniform Office Format (UOF) |
| Фиксированные форматы документов | DjVu · FictionBook (FB2) · Electronic Publication (ePub) · Envoy · Open XML Paper Specification (XPS) · PDF |
|
|
|
|---|---|
| Офисных документов | Compound Document Format · OOXML (SpreadsheetML, PresentationML, WordprocessingML) · ODF · UOF |
| Общеизвестные | HTML · XHTML · MathML · JSON · RTF · TeX · LaTeX |
| Менее известные | CML · C-HTML · ConTeXt · Crossmark · DITA · DocBook · eLML · EAD · Enriched text · FHTML · GML · GuideML · HDML · HyTime · HyperTeX · IPF · FictionBook · LilyPond · LinuxDoc · Lout · MIF · MAML · MEI · MusicXML · OMDoc · OpenMath · POD · RTML · RTML · RFT · S1000D · TEI · Texinfo · troff · Викитекст · WML · WapTV · XAML · YAML · Z Format |

