Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Т5_Цифровое представление текстовой информации...doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
256.51 Кб
Скачать

3 Формат разметки текста rtf

Формат RTF (Rich Text Format) был определен фирмой Microsoft как стандартный формат для обмена текстовыми документами. Данный формат не является стандартом, однако поддерживается фирмой Microsoft и разработчиками программных приложений, ориентированных на программно-информационную совместимость с операционной системой Windows и ее приложения. Так, например, в Windows начиная с версии 2.0 этот формат введен в качестве Clipboard-формата, благодаря чему возможен обмен данными между различными прикладными программами. Кроме того, формат RTF поддерживается текстовыми редакторами Word для Macintosh начиная с версии 3.0 и Word для PC начиная с версии 4.0 для DOS и с версии 2.0 для Windows. В настоящий момент практически любая программа, работающая с текстом, поддерживает этот формат.

В обобщенном виде структура формата представлена на рис. 3.7.

Рис. 3.7. Структура формата RTF

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

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

Иногда формат RTF называют языком разметки текста. Это, видимо, связано с тем, что формат содержит операторы, управляющие слова и символы, другие элементы описания размещения текста и графики.

Команды управления разделяются на управляющие слова (control words) и управляющие символы (control symbols).

Управляющее слово представляет собой последовательность символов с разделителем (delimiter) в конце:

\набор_символов <разделитель>

Перед управляющим словом вводится обратная косая черта «\» (backslash). В качестве разделителей могут использоваться следующие символы:

  • пробел (space), причем этот символ относится к управляющему слову;

  • цифра или знак «-» (в этом случае параметр завершается разделителем - пробелом или другими символами, кроме цифр и букв);

  • все символы, отличные от цифр и букв (эти символы не относятся к управляющему слову).

В формате RTF для задания управляющей последовательности символов используются буквы от «А» до «Z» и от «а» до «z», а также цифры от 0 до 9. Национальные символы к управляющей информации не относятся.

В качестве управляющих символов используются отдельные буквы. Перед каждым управляющим символом вводится обратная косая черта «\»:

\управляющий_символ

В настоящее время определены только некоторые из этих символов. Поэтому при чтении неизвестные символы могут быть пропущены.

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

{ - начало группы

} - конец группы

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

\\;

\{;

\}.

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

В формате RTF используются также символьные коды для управления печатью.

В формате RTF имеются управляющие слова специального назначения. К ним можно отнести:

\chpgn - управляющее слово change page number выводит текущий номер страницы;

\chftn - данная последовательность (change footnote) активизирует автоматическую нумерацию сносок;

\chdate - с помощью управляющего слова change date выводится текущая дата;

\chtime - с помощью change time выводится текущее время;

\chatn - ссылка на примечание (текст следует в группе);

\chftnsep - свидетельствует об изменении линии, отделяющей сноски от текста;

\: - последовательность обозначает подпункт индекса;

\~ - группа символов задает жесткий (неразрываемый) пробел между двумя словами, т.е. в этой позиции предложение не может быть разделено при переносе на следующую строку;

\- - символы обозначают мягкий перенос (nonrequired hyphen);

\_ - символы обозначают неразрываемый перенос (nonbreaking hyphen), на месте которого слово не может быть разделено;

\page - данная последовательность задает переход на новую страницу;

\line - эта последовательность вызывает переход на новую строку в тексте;

\раr - с помощью данной последовательности в тексте отмечается конец абзаца. Последовательность \раr может заменяться последовательностью \10 или \13. При этом \10 соответствует ASCII-символу с кодом 10 (carriage return);

\sect - эта последовательность обозначает конец текстового фрагмента или текстового абзаца.

С помощью управляющих слов можно производить основную настройку программы чтения формата RTF. Эти управляющие слова могут встречаться только в начале документа или в начале группы. Все операторы вместе с параметрами должны быть заключены в скобки, например:

{\rtf0\pc...}

К основным операторам формата можно отнести:

\rtf <параметр> - данный оператор задает метку начала файла. В качестве параметра программа, при помощи которой создается файл, может указывать номер версии, например:

{\rtf0...}

Метка должна стоять в начале файла. После этого оператора могут следовать другие операторы или закрывающая скобка.

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

Таблица 3.2

Оператор

Значение

\ansi

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

\mac

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

\pc

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

\pca

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

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

Оператор \colortbl в Windows-приложениях и других программах применяется для определения палитры используемых цветов. Чаще всего палитра состоит из 16 различных цветов, получаемых путем комбинации базовых цветов - RGB (красного, зеленого и синего). Команда \colortbl позволяет изменить отдельные определения в палитре. Для каждого цвета в таблице указывается величина красной, зеленой и синей составляющей. Каждый цвет описывается тремя параметрами:

\red000 - красный;

\green000 - зеленый;

\blue000 - синий.

Вместо 000 указывается величина интенсивности цвета в диапазоне от 0 до 255. Например, в таблице, состоящей из 16 цветов, должны быть заново определены цвета 0-й и 2-й. Для переопределения цветов может быть задана последовательность:

{\colortbl\red128\green64\blue128\;;\red0\green64\blue128;}

Определение цвета завершается точкой с запятой. Поскольку первый цвет остается без изменений, в последовательности два символа «;» расположены один за другим. Последовательность завершается закрывающей скобкой.

Оператор \cfn определяет цвет фона (при стандартной настройке n=0).

Оператор \cbn определяет цвет символа (при стандартной настройке n=0).

Оператор \fonttbl используется для построения таблицы шрифтов и соотносит имя шрифта (группы шрифтов) с номером шрифта. При определении шрифта можно использовать операторы, представленные в табл. 3.3.

Таблица 3.3

Оператор

Значение

\fnil

Имя группы шрифтов неизвестно. При выводе должен использоваться стандартный шрифт

\froman

Должны использоваться шрифты группы Roman (например, Times Roman)

\fswiss

Этот оператор предписывает использование шрифтов из группы Swiss (Helvetica, Swiss и т.д.)

\fmodern

Могут использоваться шрифты Pica, Elite и Courier

\fscript

Используются курсивные шрифты группы Script

\fdecor

При указании этого оператора шрифты должны выбираться из группыDecor (Old English и т.д.)

\ftech

Выбор группы шрифтов с техническими и математическими символами (Symbol и т.д.)

Команда для создания группы шрифтов может состоять из таких операторов:

{\fonttbl\f0\fnil default;}

{\fl\froman roman h;}

{\f2\fswiss helvetica;}

После ключевого слова \fonttbl следует первый номер шрифта \f0. Далее идет определение группы шрифтов. Здесь после номера 0 указано \fnil, т.е. имя группы неизвестно. Следующий параметр обозначает имя выбираемого шрифта (например, roman h). Указание default говорит считывающей программе о том, что следует использовать стандартный шрифт. После имени шрифта стоит точка с запятой. В приведенном примере определены только шрифты с номерами 1 и 2. Вся последовательность может быть объединена фигурными скобками в группу.

Таблица шрифтов должна быть заполнена значениями до того, как встретится оператор \stylesheet или текст. Стандартный шрифт вводится оператором \deffn.

Оператор \stylesheet определяет шрифт абзаца, т.е. размер, начертание и имя гарнитуры, а также способ выравнивания текста абзаца. При этом используются два ключевых оператора, описание которых представлено в табл. 3.4.

Таблица 3.4

Оператор

Значение

\sbasedon000

Вместо символов 000 указывается номер вида шрифта, который используется в качестве текущего

\snext000

Назначает номер следующего вида шрифта (style), который станет текущим

Оператор может иметь, например, следующий вид:

{\stylesheet\s0\f3\fs20\qj Normal;}

{\sl\f3\fs30\b\qc Heading Level 3;}

Шрифты нумеруются числами от 0 до n (\s0...). В первой строке стилю абзаца 0 (\s0) предписывается имя Normal. Вывод текста выполняется шрифтом 3 (\f3), размером 10 пунктов (\fs20). Параметр \qj говорит о том, что надпись должна выравниваться по формату. Вторая строка определяет стиль шрифта 1, который получает имя Heading Level 3. Шрифт имеет размер 15 пунктов, жирное начертание (\b = bold) и при выводе надпись центрируется (\qc).

Оператор \pict используется при описании рисунка в формате битовой карты (bitmap). Операторы, приведенные в табл. 5, содержат описание рисунка в виде шестнадцатеричных значений. Эти операторы могут быть выборочно использованы для определения геометрии рисунка или его формата.

Для задания параметров колонтитулов в состав формата введены следующие операторы:

  1. Оператор \header определяет верхний колонтитул текущего фрагмента текста и вводится в начале текста.

  2. Оператор \headerl определяет верхний колонтитул четной страницы (left hand header), на которой колонтитул выводится с выравниванием влево.

  3. Оператор \headerr устанавливает верхний колонтитул нечетной страницы, на которой колонтитул выводится с выравниванием вправо (right hand header).

  4. Оператор \headerf устанавливает верхний колонтитул первой страницы (first page header).

  5. Оператор \footer устанавливает нижний колонтитул текущего фрагмента и должен указываться перед началом текста.

  6. Оператор \footerl устанавливает нижний колонтитул четной страницы (left hand footer), на которой колонтитул выводится с выравниванием влево.

  7. Оператор \footerr устанавливает нижний колонтитул нечетной страницы, на которой он выводится с левосторонним выравниванием (right hand footer).

  8. Оператор \footerf устанавливает нижний колонтитул первой страницы (first page footer).

Группа операторов \xe описывает стиль нумерации страниц (табл. 3.6).

Таблица 3.6

Оператор

Описание

\bxe

Для номеров страниц задается жирное начертание (bold)

\ixe

Для номеров страниц задается курсивное начертание (italic)

\txe text

Вместо номера страницы используется текст

\rxe bookmark

Генерация номеров страниц для области, содержащей закладку (bookmark)

В составе формата предусмотрены операторы форматирования документа (document formatting). Их действие распространяется на весь текстовой материал.

Команда \paperw000 задает ширину листа в twips (один twip равен 1/20 пункта или 1/1440 дюйма). Значение ширины указывается вместо 000. Если команда отсутствует, то ширина листа устанавливается равной 12240 twips.

Команда \рареrh000 задает высоту листа в twips. Значение высоты указывается вместо 000. Если команда отсутствует, то высота листа устанавливается равной 15840 twips.

С помощью команды \margl000 можно устанавливать ширину левого поля при печати. Стандартная ширина поля равна 1800 twips.

С помощью команды \margr000 можно установить ширину правого поля при печати. Стандартная ширина поля равна 1800 twips.

Оператор \margt000 служит для установки ширины верхнего поля (margin top) при печати. Стандартная ширина поля равна 1440 twips.

С помощью команды \ margb000 устанавливается ширина нижнего поля (margin bottom) при печати. Стандартная ширина поля равна 1440 twips.

Оператор \facingp (facing page) определяет внешний вид страницы. Он устанавливает, например, печатается колонтитул на четных или на нечетных страницах. Если за оператором следует параметр 0, то вывод подавляется.

С помощью оператора \gutter000 можно установить ширину поля подшивки (gutter) внутри facing page.

Команда \deftab000 определяет величину табулятора. Стандартное значение составляет 72 twips.

Предусмотрена работа со сносками.

Если в документе указан оператор \endnotes, то тексты сносок размещаются в конце фрагмента.

По умолчанию тексты сносок выводятся в конце страницы (footnotes bottom justified). Оператор \ftobj позволяет переключиться с установки, заданной оператором \endnotes, на стандартную установку.

При использовании оператора \ftntj сноски выводятся в тексте (footnotes top justified).

При указании этого оператора \ftnrestart нумерация сносок на каждой странице начинается с 1. Параметр 0 отключает эту установку.

Оператор \ftnsep определяет разделитель, который отделяет сноски от текста.

Оператор\ftnsepc определяет разделитель, который отделяет сноски, переходящие на следующую страницу, от текста.

Команда \ftncn задает отметку для следующей сноски.

Команда \enddoc определяет сноску в конце документа.

Команда\landscape используется для задания альбомной ориентации (landscape) издания. При указании параметра 0 восстанавливается книжная ориентация.

В составе формата RTF имеются операторы для задания начертания и способа выделения символов при создании редакторских примечаний, форматирования секции (section formatting); команды задания расстояния между строками; операторы нумерации строк; операторы задания атрибутов колонтитулов; команды выравнивания; операторы форматирования абзаца (paragraph formatting); установки параметров отступа первой строки абзаца (first line indent); операторы задания атрибутов рамки вокруг абзаца; операторы форматирования таблиц и др.

Набор операторов рассматриваемого формата ориентирован на описание сложного текстового материала, включающего иллюстрации, таблицы, диаграммы и другие элементы печатных изданий.

Формат RTF применяется для представления электронных изданий, созданных в среде MS Office, и приложений операционной системы Windows. Обычно он выполняет функции обменного формата.