Книжный мир
Текстовые форматы

Morik (off) VIP [1755]
16 января 2009, 02:01

Формат RTF

Rich Text Format ( RTF , «формат обогащённого текста» (rich с английского - богатый) - свободный межплатформенный формат хранения размеченных текстовых документов, предложенный Microsoft . Первая версия стандарта RTF появилась в 1987 году, с тех пор спецификация формата несколько раз изменялась. RTF- документы поддерживаются большинством современных текстовых редакторов (под Microsoft Windows это, как правило, осуществляется с помощью стандартных библиотек, входящих в состав системы).

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

Назад в тему

Книжный мир
Список форумов
На главную

0.023 сек
SQL: 3