Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Формат Rich Text (RTF)

Встречаются вирус и FAT.
- Привет, ты кто?
- Я? Вирус.
- A я AFT, то есть TAF, то есть FTA, черт, совсем запутался...

Данный формат был определен фирмой Microsoft как стандартный формат для обмена текстовыми документами. Следовательно, по назначению этот формат подобен SYLK-формату для электронных таблиц. RTF поддерживается многими продуктами фирмы Microsoft. Так, например, начиная с версии 2.0, он введен в Windows в качестве Clipboard-формата, благодаря чему возможен обмен данными между различными прикладными программами Windows. Кроме того, RT-формат поддерживается программами WORD для Macintosh, начиная с версии 3.X, и WORD для PC, начиная с версии 4. X.

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

Документ состоит преимущественно из команд управления настройки программы чтения файлов в RTF-формате. Эти команды можно разделить на управляющие слова (control words) и управляющие символы (control symbols).

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


\lettersequence <delimiter>

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

  • Ш Пробел (space), причем этот символ относится к управляющему слову;
  • Цифра или знак "-". После этих символов должен следовать параметр с разделителем. В качестве разделителя может быть использован пробел или другие символы, кроме цифр и букв;

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

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

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


\control symbol

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

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

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

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

  • \\
  • \{
  • \}.

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

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

Код Значение
09Н Табулятор
0АН Символ CR
0СН Символ LF
   

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

Специальные управляющие слова (special control words)

В RTF имеются управляющие слова специального назначения. Ниже приведены эти слова и их назначение.

\chpgn
Управляющее слово change page number выводит текущий номер страницы.
\chftn
Управляющее слово change footnote активизирует автоматическую нумерацию сносок.
\chdate
С помощью change date можно вывести текущую дату.
\chtime
С помощью change time можно вывести текущее время.
\chatn
Ссылка на примечание (текст следует в группе).
\chftnsep
Свидетельствует об изменении линии, отделяющей сноски от текста.
\/
С помощью данной последовательности вводится текст формулы.
\:
Обозначает подпункт индекса.
\*
Текст может быть пропущен при чтении RTF-формата.
\~
Задает жесткий (неразрываемый) пробел между двумя словами, т.е. в этой позиции предложение не может быть разделено при переносе на следующую строку.
\-
Символ обозначает мягкий перенос (nonrequired hyphen).
\_
Символ обозначает неразрываемый перенос (nonbreaking hyphen), на месте которого слово не может быть разделено.
\'hh
Последовательность позволяет прямой ввод в тексте шестнадцатеричных чисел. Они задаются вместо символов hh.
\page
Данная последовательность задает переход на новую страницу.
\line
Эта последовательность вызывает переход на новую строку в тексте.
\раr
С помощью данной последовательности в тексте отмечается конец абзаца. Последовательность \раr может заменяться последовательностью \10 или \13. При этом \10 соответствует ASCII-символу с кодом 10 (carriage return). Непосредственно ввести ASCII-код 10 (CR) нельзя, т.к. он игнорируется программой чтения.
\sect
Эта последовательность обозначает конец текстового фрагмента или текстового абзаца.
\tab
Данная последовательность заменяет табулятор. Можно также непосредственно задавать ASCII-код 09Н.
\сеll
Конец таблицы (столбец).
\row
Конец таблицы (строка).

Операторы настройки (destination control words)

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


{\rtf0\pc.......}

Ниже описан формат некоторых операторов.


\rtf <параметр>

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


{\rtf0.......}

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

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

  • \ansi: текст хранится в стандартном ASCII-формате. Этот формат используется, например, в Windows.
  • \mac:. текст хранится в кодировке Macintosh
  • \рс: для вывода текста используется кодировка символов IBM-PC.
  • \рса: IBM-PC Code Page 850 (модель PS\2).

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

  • \colortbl

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

  • \red000
  • \green000
  • \blue000

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


{ \colortbl \redl28\green64\bluel28\;;\red0\green64\bluel2 8; }

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

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

  • \fonttbl

Данный оператор используется для построения таблицы шрифтов и соотносит имя шрифта (группы шрифтов) с номером шрифта. При определении шрифта можно использовать следующие операторы:

  • \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

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

  • \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 пунктов, жирное начертание (\Ь = bold) и при выводе надпись центрируется (\qc).

  • \pict

Этот оператор используется при описании рисунка в формате битовой карты (bitmap). Следующие параметры содержат описание рисунка в виде шестнадцатеричных значений. Параметры могут быть выборочно использованы для определения геометрии рисунка или его формата:

  • \pich000: оператор указывает высоту рисунка в пикселях. Вместо трех нулей подставляется числовое значение. Если оператор отсутствует, высота рисунка определяется из текущих графических данных. С помощью параметра можно задать для рисунка определенную высоту.
  • \piw000: оператор задает ширину рисунка в пикселях. Справедливо все, сказанное о предыдущем операторе.
  • \picscaled: с помощью этого оператора рисунок масштабируется таким образом, чтобы он точно заполнял отведенную для него область.
  • \ wmetafilen: параметр указывает, что данные хранятся в формате Windows-метафайла. Параметр n определяет тип метафайла (1 = ММ-текст).
  • \macpict: параметр указывает, что данные хранятся в Macintosh-формате Quick-Draw.
  • \bin000:. параметр определяет количество байтов. Вместо трех нулей записывается шестнадцатеричное число.
  • \wbitmapn: параметр определяет формат bitmap-рисунка. Параметр n задает тип (0 соответствует логической битовой карте).
  • \brdrs: определяет простую рамку для рисунка
  • \brdrdb: определяет двойную рамку для рисунка.
  • \brdrth: определяет жирную линию для рамки рисунка.
  • \brdrsh: определяет затененную рамку для рисунка
  • \brdrdot: определяет для рисунка пунктирную линию.
  • \brdrhair: определяет тонкую линию для рамки рисунка.
  • \picwGoaln: задает желаемую ширину рисунка в twips
  • \pichGoaln: задает желаемую высоту рисунка в twips.
  • \picscalexn: задает горизонтальное масштабирование (n может принимать значения от 1 до 100, по умолчанию -10).
  • \picscaleyn: задает вертикальное масштабирование (n может принимать значения от 1 до 100, по умолчанию - 10).
  • \piccroptn: описывает верхнее поле рисунка в twips. При положительных значениях параметра n верхняя часть рисунка обрезается. Отрицательные значения n дают возможность построить вокруг рисунка рамку. Стандартное значение n равно 0.
  • \рiccrорbп: описывает нижнее поле рисунка в twips. При положительных значениях параметра n нижняя часть рисунка обрезается. Отрицательные значения n дают возможность построить вокруг рисунка рамку. Стандартное значение n равно 0.
  • \рiссrорrn: описывает правое поле рисунка в twips. При положительных значениях параметра n рисунок обрезается справа. Отрицательные значения n дают возможность построить вокруг рисунка рамку. Стандартное значение n равно 0.
  • \piccropln: описывает левое поле рисунка в twips. При положительных значениях параметра п рисунок обрезается слева. Отрицательные значения п дают возможность построить вокруг рисунка рамку. Стандартное значение п равно 0.
  • \wbmbitspixeln: определяет количество битов, приходящихся на пиксел, для bitmap-рисунка (стандартное значение равно 1).
  • \ wbmplanesn: определяет количество битовых плоскостей (стандартное значение равно 1).
  • \wbmwidtbbytesn: определяет длину битовой карты в байтах.
\footnote
Оператор должен следовать непосредственно после отметки сноски и относиться к тексту.
\header
Оператор определяет верхний колонтитул текущего фрагмента текста и поэтому должен указываться в начале текста.
\headerl
Оператор определяет верхний колонтитул четной страницы (left hand header), на которой колонтитул выводится с выравниванием влево.
\headerr
Оператор устанавливает верхний колонтитул нечетной страницы, на которой колонтитул выводится с выравниванием вправо (right hand header).
\headerf
Оператор устанавливает верхний колонтитул первой страницы (first page header).
\footer
Оператор устанавливает нижний колонтитул текущего фрагмента и должен указываться перед началом текста.
\footerl
Оператор устанавливает нижний колонтитул четной страницы (left hand footer), на которой колонтитул выводится с выравниванием влево.
\footerr
Оператор устанавливает нижний колонтитул нечетной страницы, на которой он выводится с левосторонним выравниванием (right hand footer).
\footerf
Оператор устанавливает нижний колонтитул первой страницы (first page footer).
\ftnsep
Оператор определяет символ-разделитель для сносок.
\ftnsepc
Оператор определяет разделитель для сноски, которая продолжается на следующей странице (continued footnote).
\ftncn
Этот оператор применяется для обозначения продолжения текста сноски.
\info
С помощью данного ключевого слова в начале документа открывается информационный блок. Он может содержать информацию о заголовке документа, дате его составления и т.д. Внутри информационного блока, который начинается оператором \info, могут встречаться следующие операторы:
  • \title
  • \subject
  • \operator
  • \author
  • \keywords
  • \doccomm
  • \version
  • \nextfile
Перечисленные команды позволяют передавать вспомогательную информацию о документе, например, имя автора, версию текста, заголовок и т.д. Программа чтения RTF-данных не обязана обрабатывать команды информационного блока.
\vern000
Вместо 000 в операторе записывается номер версии программы, в которой составлен документ.
\creatim
С помощью данного ключевого слова определяется дата и время создания документа. Эти данные кодируются с помощью таких операторов:
  • \уr000: год создания документа
  • \то000: месяц создания документа
  • \dy000: день создания документа
  • \hr000: время создания документа в часах
  • \min000: время создания документа в минутах
  • \sec000: время создания документа в секундах
\revtim
Определяет время и дату последней корректировки документа. Оба параметра задаются так, как указано в описании оператора \creatim.
\printtim
Определяет время и дату последней распечатки документа. Оба параметра задаются так, как указано в описании оператора \creatim.
\buptim
Определяет время и дату последнего сохранения документа (backup). Оба параметра задаются так, как указано в описании оператора \creatim.
\edmins000
Хранит длительность (в минутах) последнего сеанса редактирования.
  • \nofpages000
  • \nofwords000
  • \nofchars000
  • \id000
Вышеуказанные операторы содержат уточняющую информацию о документе (количество страниц, количество слов и количество символов), а также внутренний идентификационный номер.
\comment
В заголовке может встретиться текст, помеченный ключевым словом \comment. В этом случае речь идет о комментарии в тексте, который пропускается программой чтения данных в RTF-формате.
\field
Имеется группа операторов, при помощи которых описываются поля, вставляемые в WORD. Группа начинается ключевым словом \field, за которым могут следовать такие операторы:
  • \flddirty: поле было изменено во время последней актуализации
  • \fldedit: текст был отредактирован во время последней актуализации
  • \fldlock: поле закрыто для доступа и не может быть актуализировано
  • \fldpriv: результат не сообщается (например, рисунок)
\xe
Эта группа операторов начинается последовательностью символов \xe и может содержать следующие ключевые слова:
  • \bхе: для номеров страниц задается жирное начертание (bold).
  • \ixe: для номеров страниц задается курсивное начертание (italic).
  • \txe text: вместо номера страницы используется текст.
  • \rхе bookmark: генерация номеров страниц для области, содержащей закладку (bookmark).
\tc
Группа содержит элементы данных для таблиц и может состоять из следующих ключевых слов:
  • \tcfn: передается тип таблицы (n может иметь значения от А до Z, значение по умолчанию - С).
  • \tcln: номер уровня (стандартное значение n = 1).
В группу операторов, определяющих закладки, входят только два оператора:
  • \*\bkmkstart: начало области
  • \*\bkmkend: конец области

Операторы форматирования (document formatting)

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

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

В этом разделе описываются операторы форматирования всего документа.

\paperw000
Команда задает ширину листа в twips (1 twip равен 1/20 пункта или 1/1440 дюйма). Значение ширины указывается вместо 000. Если команда отсутствует, то ширина листа устанавливается равной 12240 twips.
\рареrh000
Команда задает высоту листа в twips. Значение высоты указывается вместо 000. Если команда отсутствует, то высота листа устанавливается разной 15840 twips.
\margl000
С помощью этой команды можно установить ширину левого поля при печати в twips. Стандартная ширина поля равна 1800 twips.
\margr000
С помощью этой команды можно установить ширину правого поля при печати в twips. Стандартная ширина поля равна 1800 twips.
\margt000
С помощью этой команды можно установить ширину верхнего поля (margin top) при печати в twips. Стандартная ширина поля равна 1440 twips.
\margb000
С помощью этой команды можно установить ширину нижнего поля (margin bottom) при печати в twips. Стандартная ширина поля равна 1440 twips.
\facingp
Оператор facing page определяет внешний вид страницы. Он устанавливает например, печатается колонтитул на четных или на нечетных страницах. Если з; оператором следует параметр 0, то вывод подавляется.
\gutter000
С помощью этого оператора можно установить ширину поля подшивки (gutter внутри facing page.
\deftab000
Команда определяет величину табулятора. Стандартное значение составляет 72 twips.
\widowctrl
Оператор включает wido-контроль. Если за оператором следует параметр 0, то контроль снова отключается.
\endnotes
Если в документе указан этот параметр, то тексты сносок размещаются в конце фрагмента.
\ftobj
По умолчанию тексты сносок выводятся в конце страницы (footnotes bottom justified). Данный оператор позволяет переключиться с установки, заданной опер тором \endnotes, на стандартную установку.
\ftntj
Тексты сносок выводятся в тексте (footnotes top justified).
\ftnstart000
Вместо 000 команда содержит начальный номер первой сноски. Стандартное значение номера равно 1.
\ftnrestart
При указании этого оператора нумерация сносок на каждой странице начинается с 1. Параметр 0 отключает эту установку.
\pgnstart000
Вместо 000 команда содержит номер начальной страницы. Стандартное значение номера равно 1.
\linestart000
Значение, указанное вместо 000, задает номер начальной строки. Стандартное значение номера равно 1.
\landscape
Команда позволяет задать альбомную ориентацию (landscape). При указании параметра 0 восстанавливается книжная ориентация.
\byphhotz
Определяет область, которая обозначается как - Hyphenation hot zone.
\ftnsep
Определяет разделитель, который отделяет сноски от текста.
\ftnsepc
Определяет разделитель, который отделяет сноски, продолжающиеся на следующую страницу, от текста.
\ftncn
Отметка для следующей сноски.
\enddoc
Сноска в конце документа.
\*\nextfile
Передает (в скобках {}) имя файла вывода или индексного файла.
\*\template
После оператора в скобках {} указано имя файла шаблона (template), если оно отличается от принятого по умолчанию.
\makeback
Автоматическое создание Backup-файла, если документ защищен.
\defformat
Сообщает программе чтения RTF-данных о том, что документ должен быть защищен.
\revison
Включает отметку об изменениях.
\margmirror
Указывает на необходимость зеркально отобразить описания для левого и правого полей.
\rеvрrорn
Значение параметра n задает начертание и способ выделения символов при создании редакторских примечаний. Значение n, равное 0, соответствует нормальному начертанию, 1 - жирному, 2 - курсиву, 3 - подчеркиванию (стандартная настройка), 4 - двойному подчеркиванию.
\rеvbаrn
В зависимости от значения параметра n, задается способ выделения вертикальными линиями текста редакторских примечаний: 0 - не отмечается, 1 - отмечается левый край текста, 2 - отмечается правый край текста, 3 - отметка располагается за пределами текста (стандартная настройка) по краю страницы.

Форматирование секции (section formatting)

Вторая группа операторов управляет форматом секции (section) и состоит из следующих команд.

\sectd
Оператор устанавливает стандартную настройку параметров секции.
\sbknone
Оператор подавляет переход на новую страницу перед началом секции (section break continuous).
\sbkcol
При указании этой команды в начале секции осуществляется переход на новую колонку (section break new column).
\sbkpage
При указании этой команды (section break new page) в начале секции происходит переход к новой странице.
\sbkeven
При указании этой команды в начале секции выполняется переход к новой странице, если номер страницы четный (section break even).
\sbkodd
При указании этой команды в начале секции выполняется переход к новой странице, если номер страницы нечетный (section break odd).
\pgostartsn
Нумерация страниц начинается с номера n.
\pgnrestart
Команда устанавливает временную нумерацию страниц, начиная со значения 1. Параметр 0 восстанавливает прежний порядок нумерации.
\pgndec
Номера страниц выводятся в десятичном формате.
\pgnucrm
Номера страниц выводятся большими римскими цифрами (upper case roman).
\pgnlcrm
Номера страниц выводятся маленькими римскими цифрами (lower case roman).
\pgncont
Сквозная нумерация страниц (стандартная настройка).
\pgnucltr
Номера страниц выводятся прописными символами (upper case letter).
\pgnlcltr
Номера страниц выводятся строчными символами (lower case letter).
\pgnx000
С помощью этой команды задается X-координата номера страницы при автоматической нумерации. Значение указывается относительно верхнего левого угла страницы и по умолчанию устанавливается равным 720 twips.
\pgny000
С помощью этой команды задается Y-координата номера страницы при автоматической нумерации. Значение указывается относительно верхнего левого угла страницы и по умолчанию устанавливается равным 720 twips.
\linemod000
Оператор устанавливает величину интервала при нумерации строк.
\linex000
Оператор устанавливает расстояние между строками. По умолчанию оно равно 360 twips.
\linestartn
Нумерация строк начинается со значения n.
\linerestart
Возвращает номер строки к значению 1. Команда устанавливает, что нумерация строк начинается с 1.
\linepage
На каждой странице нумерация строк начинается со значения 1.
\linecont
Нумерация строк продолжается с предыдущей секции (предыдущей главы).
\headery000
Команда задает Y-координату верхнего колонтитула. Значение указывается относительно верхнего края страницы и по умолчанию принимается равным 720 twips.
\footery000
Команда задает Y-координату нижнего колонтитула. Значение указывается относительно нижнего края страницы и по умолчанию принимается равным 720 twips.
\vertalt
Текст по вертикали выравнивается к верхнему краю страницы. Текст располагается в верхней части страницы (vertically align at top of page).
\vertalc
Текст размещается посредине страницы. Вертикальное выравнивание текста выполняется по центру страницы (vertical align centered).
\vertalj
Текст по вертикали размещается так, чтобы заполнить всю страницу (vertical align justified).
\vertalb
Вертикальное выравнивание текста выполняется по нижнему краю страницы (vertical align bottom).
\cols000
С помощью этой команды можно задать количество столбцов в строке. Стандартное значение равно 1.
\colsx000
С помощью этой команды устанавливается расстояние между двумя столбцами в twips. Стандартное значение равно 720 twips.
\endnhere
При указании этого оператора послетекстовые сноски выводятся в конце секции. Такой вывод можно подавить путем задания параметра 0.
\titlepg
Оператор задает вывод титульной страницы. Параметр 0 подавляет вывод титульной страницы.

Форматирование абзаца (paragraph formatting)

Следующие команды управляют форматированием абзаца (paragraph).

\pard
Оператор устанавливает стандартную настройку для абзаца.
\s000
Команда определяет шрифт для данного абзаца. С помощью подставляемого вместо 000 значения осуществляется выбор в таблице шрифтов.
\ql
При задании команды quad left текст выравнивается по левому краю страницы.
\qr
При задании команды quad right текст выравнивается по правому краю страницы.
\qc
При задании команды quad centered текст размещается по центру страницы.
\qj
При задании команды quad justified текст выравнивается по формату страницы.
\fi000
Оператор определяет величину отступа первой строки абзаца (first line indent). Стандартное значение равно 0.
\li000
Оператор определяет величину втяжки абзаца слева (left indent). Стандартное значение равно 0.
\ri000
Оператор определяет величину втяжки абзаца справа (right indent). Стандартное значение равно 0.
\sb000
Оператор задает количество пустых строк, вставляемых перед абзацем (spaces before). Стандартное значение равно 0.
\sa000
Оператор задает количество пустых строк, вставляемых после абзаца (spaces after). Стандартное значение равно 0.
\sl000
Команда устанавливает расстояние между строками в пунктах. Стандартное значение равно одной строке (12 пунктам). Команда \sl000 включает auto line mode.
\intbl
Абзац является частью некоторой таблицы.
\keep
При указании этой команды фиксируется принадлежность текста к текущему абзацу. Команда отключается указанием параметра 0.
\kеерn
При указании этой команды текст ставится в соответствие следующему (next) абзацу. Команда отключается указанием параметра 0.
\sbys
Указанием этого оператора может быть включен режим side by side. При задании параметра 0 режим отключается.
\pagebb
Указанием этого оператора может быть включена команда page break before. При задании параметра 0 команда отключается.
\nоlinе
При задании этой команды отключается нумерация строк. Указание параметра 0 подавляет команду.
\brdrt
Задает линию над абзацем (boarder top).
\brdrb
Задает линию под абзацем (boarder bottom)..
\brdrl
Задает линию слева от абзаца (boarder left).
\brdrr
Задает линию справа от абзаца (boarder right).
\box
Задает рамку вокруг абзаца.
\brdrs
Задает нормальную линию (single thickness) для рамки.
\brdrtb
Задается толстую (thick) линию для рамки.
\brdsu
Задает оттененную рамку (boarder).
\brdrdb
Задается двойную рамку (boarder).
\brdrdot
Рамка обозначается пунктирной линией.
\brdrbair
Рамка обозначается тонкой линией.
\brspn
Расстояние в twips между рамкой и объектом.
\tqr
Обозначает табулятор, относительно которого текст выравнивается вправо (right flush tab).
\tgc
Обозначает табулятор, относительно которого текст выравнивается по центру (centered tab).
\tqdec
Обозначает десятичный табулятор (decimal aligned tab).
\tldot
Обозначает табулятор, для которого пустое пространство заполняется точками (tab leader dot).
\tibypben
Обозначает табулятор, для которого пустое пространство заполняется дефисами (tab leader hyphen).
\tlul
Обозначает табулятор, для которого пустое пространство заполняется символами подчеркивания (tab leader underline).
\tith
Обозначает табулятор, для которого пустое пространство заполняется жирной чертой (tab leader thick line). \
\tx000
С помощью этой команды задается положение табулятора.
\tb000
С помощью команды задается положение вертикального табулятора. При этом по всей длине текущего абзаца проводится вертикальная линия.

Следующие команды позволяют разместить абзац в определенной позиции листа.

\posxn
Позиционирует абзац на расстоянии n twips от левого края.
\posxc
Абзац по горизонтали размещается по центру относительно указанного элемента (страницы, колонки).
\posxi
Абзац по горизонтали размещается внутри указанного элемента.
\posxl
Абзац по горизонтали размещается слева относительно указанного элемента.
\posxo
Абзац по горизонтали размещается вне указанного элемента.
\posxr
Абзац по горизонтали размещается справа относительно указанного элемента.
\posysi
Позиционирует абзац на расстоянии "n" twips от верхнего края.
\posyil
Позиционирует абзац в текущей позиции (inline).
\posyt
Абзац по вертикали размещается в верхней части указанного элемента (страницы, колонки).
\posyc
Абзац по вертикали размещается в центре указанного элемента.
\posyb
Абзац по вертикали размещается в нижней части указанного элемента.
\abswn
Абсолютная ширина текста абзаца в twips.
\dxfrtextn
Расстояние в twips по горизонтали между основным текстом и абсолютно позиционированным объектом (рамкой с текстом или рисунком).
\pvmrg
Позиция по вертикали относительно полей.
\pvpg
Позиция по вертикали относительно страницы.
\phmrg
Позиция по горизонтали относительно полей.
\рhpg
Позиция по горизонтали относительно страницы.
\рhсоl
Позиция по горизонтали относительно столбца.

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

\clbrdrb
Нижний край таблицы.
\clbrdrt
Верхний край таблицы.
\clbrdrl
Левый край таблицы.
\clbrdrr
Правый край таблицы.
\trowd
Устанавливает стандартные значения строк таблицы.
\trql
Левостороннее выравнивание при размещении строк таблицы (с учетом столбцов).
\trqr
Правостороннее выравнивание при размещении строк таблицы (с учетом столбцов).
\trqc
Центрирование строк таблицы (с учетом столбцов).
\trgapho
Половина расстояния между ячейками таблицы (в twips).
\trrbn
Высота строки в twips.
\trleftm
Расположение левого угла таблицы.
\cellxn
Смещение правой границы таблицы.
\clmgf
Объединение (merge) первой ячейки с остальными ячейками таблицы.
\clmrg
Объединение ячейки с предыдущей ячейкой.

Форматирование символов (character formatting)

Данная группа операторов используется для форматирования символов (жирное начертание, подчеркивание и т.д.).

\plain
С помощью этой команды устанавливаются стандартные параметры форматирования.
\b
Установка жирного начертания (bold) для печатаемого текста. Для отмены необходимо указать параметр 0.
\i
Задание курсивного начертания (italic) для печатаемого текста. Установка отменяется указанием параметра 0.
\strike
Печатаемый текст будет зачеркнутым (strikethrough). Для отмены следует выбрать параметр 0.
\outl
Установка контурного шрифта (outline) для печатаемого текста. Для отмены надлежит выбрать параметр 0.
\shad
Печатаемый текст будет оттенен. Для отмены необходимо установить параметр 0.
\scaps
Установка печати текста строчными буквами (small caps). Для отмены нужно выбрать параметр 0.
\caps
Установка печати текста прописными и строчными буквами. Для отмены необходимо выбрать параметр 0.
\v
Печатаемый текст будет заменен пробелами (invisible). Для отмены следует установить параметр 0.
\f000
Установка настройки шрифта с указанием в качестве параметра номера фонта.
\fs000
Оператор в качестве параметра содержит высоту символов, заданную в единицах по 1/2 пункта. Стандартное значение высоты равно 24 единицам (12 пунктам).
\expnd000
Параметр позволяет изменить расстояние между символами путем указания количества интервалов величиной по 1/4 пункта каждый.
\ul
Установка режима подчеркивания текста. Для отмены необходимо выбрать параметр 0.
\ulw
Оператор позволяет задать подчеркивание только слов.
\uld
Задание пунктирного подчеркивания текста (dotted underline).
\uldb
Установка режима двойного подчеркивания текста (double underline).
\ulnone
Отмена подчеркивания текста.
\up000
Установка режима надстрочного написания символов (superscript). Размер задается в единицах 1/2 пункта.
\dn000
Установка режима подстрочного написания символов (subscript). Размер задается в единицах 1/2 пункта.
\cf000
Указание номера цвета в палитре.
\сb000
Задание цвета фона путем указания номера в палитре.
\revised

Последующие версии RT-формата могут быть дополнены новыми командами. Если программа не распознает команду, то она может быть пропущена. Конец каждой команды отмечается одним из описанных выше разделяющих символов (чаще всего -точкой с запятой).

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.