Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мультимедиа.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
233.67 Кб
Скачать

6. Подготовка электронных изданий в формате rtf. Структура документа в формате rtf. Группировка символов.

RTF (Rich Text format «расширенный текстовый формат») представляет собой независимый от платформы текстовый документ, подобно HTML размеченный специальными служебными словами-тегами (управляющие слова и управляющие символы).

В силу отсутствия каких-либо исполняемых кодов, он, в частности, не может нести в себе вирусы. Начинается он всегда с последовательности {\rtf, которая служит его отличительным признаком.

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

С труктура формата. В состав заголовка файла входит идентификатор RTF файла, команда выбора гарнитуры, команда выбора шрифта по умолчанию и таблица доступных шрифтов, таблица цветов (RGB) и таблица стилей.

В теле файла  размещаются данные публикации в виде двоичных кодов ASCII. В формате RTF используются только символы, представимые стандартом ASCII, а также MAC- и PC- символьного набора. Кроме текста, файл в RTF-формате содержит команды управления, которые также реализованы с использованием этого стандарта.

В RT-формате существует возможность объединять отдельные последовательности в группы при помощи скобок:

{ начало группы } конец группы

Такие группы создаются, например, при описании сносок, колонтитулов и т.п. Если необходимо разместить символы "\", "{" или "}" внутри обычного текста, то перед ними надлежит поставить обратную косую черту: \\, \{, \}.

Это позволяет программе, читающей RTF-последовательность, распознать, что символ не следует интерпретировать как управляющий.

7. Представление символов, входящих и не входящих в ascii в формате rtf.

Установка вида кодировки для сохраняемого текста осуществляется с помощью операторов, представленных в табл.

Оператор

Значение

\ansi

Текст хранится в стандартном ASCII-формате. Этот формат используется, например, в Windows

\mac

Текст хранится в кодировке Macintosh

\pc

Для вывода текста используется кодировка символов

\pca

IBM-PCIBM-PC Code Page 850 (модель PS/2)

Для передачи текстов между различными системами используется оператор \ansi.

Представление символов в электронных изданиях базируется на таблицах кодов, в которых каждому из отображаемых на экране символов соответствует код от 0 до 255. Первые 127 кодовых комбинаций используются для латинских букв и цифр, знаков пунктуации и т. д. и, как правило, строятся по единому принципу.

Хотя стандарт допускает 8-битное кодирование в отдельных случаях, текст в формате RTF обычно кодируется 7-битными символами.

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

Итак, в rtf'е есть возможность использования второй половины таблицы ASCII, та что от 128 и выше. Для этого в RTF была введена последовательность вида \'hh, где hh — это двоичный hex-код символа из таблицы ASCII.

Ну и второй, более интересный вариант, это unicode-кодированные данные. Для них в формат включено лаконично короткое ключевое слово \uABCD с цифровым параметром ABCD. ABCD в данном случае код unicode-символа в десятичной системе счисления. Всё опять просто, как вы могли заметить. В rtf существует ещё одно ключевое слово \ucN, которое тесно связано с Unicode. Дело в том, что формат RTF очень рьяно поддерживает совместимость со старыми устройствами, на которых возможно придётся открывать данный файл. Как вариант, подобное устройство (ну например компьютер с Windows 3.11 :) не сможет прочитать Unicode, что ему делать? Для этого после каждого unicode-символа, шифрованного ключевым словом \u может быть указано от нуля до нескольких символов, которые должны быть отображены в случае, если rtf-viewer не способен отобразить или разобрать текущие данные (по документации, если просмотрщик не может отобразить верно данные, он должен их пропустить).

В связи с этим, большинство современных редакторов после unicode-управляющего слова ставят символ вопроса, как знак, что требуется показать вместо текущего символа. Но возможны и варианты, например: Lab\u915GValue. Зададимся вопросом — сколько символов требуется отобразить, если нет возможности показать Unicode. Всё не очень сложно — указанное выше ключевое слово \ucN в качестве параметра N как раз и предоставляет это значение. Т.е. перед Unicode-данными обязательно появится что-то типа \uc1, что скажет нам пропустить один символ после unicode'а.