Miami-art.ru

Создание и развитие сайта

RTF

28-09-2023

Rich Text Format (RTF, «формат обогащённого текста» (rich с английского — богатый) — проприетарный[1][2] межплатформенный формат хранения размеченных текстовых документов, предложенный группами программистов основавшими компании 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, но в отличие от последнего, управляющие последовательности являются не макросами, доступными для изменения, а командами с фиксированным поведением.

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

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

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

Большинство текстовых редакторов реализуют импорт/экспорт в формат RTF, благодаря чему этот формат часто используется как «общий», для передачи текста из одной программы в другую.

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

Поскольку основу RTF составляет обычный текст, довольно просто создать RTF на любом языке программирования. Например, в 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

Примечания

  1. tutorial: Rich Text Format (RTF). Colorado State University. Проверено 13 марта 2010.
  2. 4.3 Non-HTML file formats. e-Government Unit (май 2002). Проверено 13 марта 2010.

RTF.

© 2018–2023 miami-art.ru, Россия, Смоленск, ул. Загорская 8, офис 99, +7 (4812) 12-23-90