Перейти к содержанию

ГОСТ Р ИСО/МЭК 26300—2010/Раздел 15

Материал из Викитеки — свободной библиотеки
ГОСТ Р ИСО/МЭК 26300—2010 «Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0» — Раздел 15


15 Свойства форматирования

[править]

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

  • К свойствам форматирования можно обращаться как к таблицам стилей [CSS2] или [XSLT] независимо от типа стиля.
  • Стили содержат дополнительную информацию, которая не является свойством форматирования, например, имя стиля и родительский стиль.

Хорошей практикой считается отделение этого типа информации.

Существуют следующие элементы свойств форматирования:

  • <style:page-layout-properties> — для свойств разметки страницы;
  • <style:header-footer-properties> — для свойств верхнего и нижнего колонтитулов;
  • <style:text-properties> — для свойств текста;
  • <style:paragraph-properties> — для свойств абзацев;
  • <style:section-properties> — для свойств разделов текста;
  • <style:ruby-properties> — для свойств транскрипции;
  • <style:list-level-properties> — для свойств списков;
  • <style:table-properties> — для свойств таблиц;
  • <style:table-column-properties> — для свойств столбцов таблиц;
  • <style:table-row-properties> — для свойств строк таблиц;
  • <style:table-cell-properties> — для свойств ячеек таблиц;
  • <style:graphic-properties> — для свойств графических объектов.

15.1 Простые и составные свойства форматирования

[править]

15.1.1 Простые свойства форматирования

[править]

Большинство свойств форматирования являются простыми и могут быть представлены как атрибуты свойств форматирования[1]. Для представления свойств форматирования, где возможно, используются [XSL] атрибуты или атрибуты из других спецификаций. В этой спецификации префикс пространства имен fo используется для свойств XSL, являющихся частью пространства имен XSL.

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

Пример — Простые свойства стиля.

Этот пример показывает контейнер свойств форматирования, который определяет верхнее поле абзаца, равное 1 см, и нижнее поле 0,5 см:

    <style:paragraph-properties fo:margin-left="1cm" fo:margin-bottom=".5cm"/>

15.1.2 Составные свойства форматирования

[править]

Если свойство форматирования слишком сложно для представления атрибутами XML, оно представляется элементом XML. Каждое такое свойство представляется собственным типом элемента.

Пример — Составные свойства форматирования.

Ниже приведен пример контейнера свойства форматирования, который определяет верхнее и нижнее поле позиции табуляции соответственно 2 см и 4 см:

<style:paragraph-properties>
    <style:tab-stops>
        <style:tab-stop style:position="2cm"/>
        <style:tab-stop style:position="4cm"/>
    </style:tab-stops>
</style:paragraph-properties>

15.1.3 Правила обработки свойств форматирования

[править]

В структуре OpenDocument различные элементы <style:*-properties> могут содержать предопределенные атрибуты и элементы форматирования, а также особые атрибуты и элементы форматирования. Предопределенные элементы и атрибуты имеют определенную семантику и описаны в этом разделе.

Особые атрибуты и элементы — произвольные атрибуты и элементы внутри элементов <style:*-properties>. Их семантика не определена в данной спецификации.

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

<define name="style-properties-content">
    <ref name="anyAttListOrElements"/>
</define>

15.2 Свойства форматирования для разметки страницы

[править]

Свойства, описанные в этом разделе, могут содержаться внутри стиля разметки страницы (см. раздел 14.3). Они содержатся в элементе <style:page-layout-properties>:

  • размер страницы;
  • формат номера страницы;
  • лоток для бумаги;
  • ориентация печати;
  • поля;
  • обрамление;
  • толщина линии обрамления;
  • заполнение;
  • тень;
  • фон;
  • колонки;
  • приводка;
  • печать;
  • порядок страниц при печати;
  • нумерация первой страницы;
  • масштаб;
  • выравнивание таблицы;
  • максимальная высота сноски;
  • разделитель сноски.
<define name="style-page-layout-properties">
    <element name="style:page-layout-properties">
        <ref name="style-page-layout-properties-content"/>
    </element>
</define>

<define name="style-page-layout-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-page-layout-properties-content-strict">
    <ref name="style-page-layout-properties-attlist"/>
    <ref name="style-page-layout-properties-elements"/>
</define>

15.2.1 Размер страницы

[править]

Атрибуты fo:page-width и fo:page-height определяют физический размер страницы.

Атрибут fo:page-width должен соответствовать ориентации страницы. Например, если страница имеет книжную ориентацию, то атрибут fo:page-width определят ширину более короткой стороны страницы. Если страница имеет альбомную ориентацию, то атрибут fo:page-width определяет ширину более длинной стороны страницы.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:page-width">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:page-height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.2.2 Формат номера страницы

[править]

Атрибуты style:num-format, style:num-prefix и style:num-suffix определяют формат номера по умолчанию для стиля страницы, который используется для отображения номеров страниц внутри верхних и нижних колонтитулов Для получения дополнительной информации относительно атрибутов формата номера см. раздел 12.2.

Атрибут style:num-format может быть пустым. В этом случае по умолчанию номер страницы отображен не будет.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <ref name="common-num-format-attlist"/>
    </optional>
    <ref name="common-num-format-prefix-suffix-attlist"/>
</define>

15.2.3 Лоток для бумаги

[править]

Атрибут style:paper-tray-name определяет используемый лоток для бумаги при печати документа. Названия, связанные с лотками принтера, зависят от принтера. Если значение этого атрибута default, будет использоваться лоток по умолчанию, определенный в параметрах конфигурации принтера.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:paper-tray-name">
        <choice>
            <value>default</value>
            <ref name="string"/>
        </choice>
        </attribute>
    </optional>
</define>

15.2.4 Ориентация печати

[править]

Атрибут style:print-orientation определяет ориентацию печатной страницы. Значение этого атрибута может быть portrait или landscape.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:print-orientation">
            <choice>
                <value>portrait</value>
                <value>landscape</value>
            </choice>
        </attribute>
    </optional>
</define>

15.2.5 Поля

[править]

Атрибуты полей fo:margin, fo:margin-top, fo:margin-bottom, fo:margin-left и fo:margin-right определяют размер полей страницы. Для получения дополнительной информации по этим атрибутам см. разделы 15.5.17, 15.5.20 и 15.5.21. Значения в процентах не поддерживаются.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-horizontal-margin-attlist"/>
    <ref name="common-vertical-margin-attlist"/>
    <ref name="common-margin-attlist"/>
</define>

15.2.6 Обрамление

[править]

Атрибуты обрамления fo:border, fo:border-top, fo:border-bottom, fo:border-left и fo:border-right определяют свойства обрамления страницы. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.25.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-border-attlist"/>
</define>

15.2.7 Толщина линии обрамления

[править]

Если страница содержит обрамления, то атрибуты толщины линии обрамления style:border-line-width, style:border-line-width-top, style:border-line-width-bottom, style:border-line-width-left и style:border-line-width-right определяют свойства линий обрамления страницы. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.26.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-border-line-width-attlist"/>
</define>

15.2.8 Заполнение

[править]

Атрибуты заполнения fo:padding, fo:padding-top, fo:padding-bottom, fo:padding-left и fo:padding-right определяют свойства заполнения страницы. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.27.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-padding-attlist"/>
</define>

15.2.9 Тень

[править]

Атрибут тени style:shadow определяет тень страницы. Для получения дополнительной информации по этому атрибуту см. раздел 15.5.28.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-shadow-attlist"/>
</define>

15.2.10 Фон

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяют свойства фона страницы. Для получения дополнительной информации по данному атрибуту и элементу см. разделы 15.5.23 и 15.5.24.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>
<define name="style-page-layout-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.2.11 Колонки

[править]

Элемент <style:columns> определяет, содержит ли страница колонки. Для получения дополнительной информации по этому элементу см. раздел 15.7.3.

<define name="style-page-layout-properties-elements" combine="interleave">
    <ref name="style-columns"/>
</define>

15.2.12 Приводка

[править]

Атрибут style:register-truth-ref-style-name ссылается на стиль абзаца. Междустрочное расстояние, определяемое стилем абзаца, используется в качестве ссылки на расстояние между строками для всех абзацев, для которых включена приводка.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:register-truth-ref-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

15.2.13 Печать

[править]

Атрибут style:print определяет, какие компоненты в электронной таблице печатать.

Значением этого атрибута может быть список следующих значений, разделенных пробелами:

  • headers
  • grid
  • annotations
  • objects (включая графические)
  • charts
  • drawings
  • formulas
  • zero-values
<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:print">
            <list>
                <zeroOrMore>
                    <choice>
                        <value>headers</value>
                        <value>grid</value>
                        <value>annotations</value>
                        <value>objects</value>
                        <value>charts</value>
                        <value>drawings</value>
                        <value>formulas</value>
                        <value>zero-values</value>
                    </choice>
                </zeroOrMore>
            </list>
        </attribute>
    </optional>
</define>

15.2.14 Порядок страниц при печати

[править]

Атрибут style:print-page-order определяет порядок, в котором данные в электронной таблице нумеруются и печатаются, когда данные не помещаются на одной печатной странице.

Значением этого атрибута может быть ttb или ltr. Используйте ttb для печати данных вертикально от левого столбца до нижней строки документа. Используйте ltr для печати данных горизонтально от верхней строки до правой колонки документа.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:print-page-order">
            <choice>
                <value>ttb</value>
                <value>ltr</value>
            </choice>
        </attribute>
    </optional>
</define>

15.2.15 Нумерация первой страницы

[править]

Атрибут style:first-page-number определяет номер первой страницы текстового или графического документа или первой страницы в таблице внутри документа электронной таблицы.

Значение этого атрибута может быть целым числом или continue. Если значение continue, то номер страницы будет номером предыдущей страницы, увеличенным на 1. По умолчанию номер первой страницы равен 1.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:first-page-number">
            <choice>
                <ref name="positiveInteger"/>
                <value>continue</value>
            </choice>
        </attribute>
    </optional>
</define>

15.2.16 Масштаб

[править]

Атрибуты style:scale-to и style:scale-to-pages определяют, как приложение должно масштабировать документы электронной таблицы для печати.

Атрибут style:scale-to определяет, что документ масштабирован на значение, указанное в процентах, где 100 % соответствует отсутствию масштабирования. При использовании этого атрибута все страницы при печати будут увеличены или уменьшены в размере.

Атрибут style:scale-to-pages определяет число страниц, на которых документ должен быть напечатан.

Если ни один из этих атрибутов не указан, то документ не будет масштабирован.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:scale-to">
            <ref name="percent"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:scale-to-pages">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

15.2.17 Выравнивание таблицы

[править]

Атрибут style:table-centering определяет, каким образом приложение должно выровнять таблицы на странице. Этот атрибут относится только к электронным таблицам.

Значение этого атрибута может быть horizontal, vertical, both или none. Если этот атрибут не указан, то таблица не будет выровнена.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:table-centering">
            <choice>
                <value>horizontal</value>
                <value>vertical</value>
                <value>both</value>
                <value>none</value>
            </choice>
        </attribute>
    </optional>
</define>

15.2.18 Максимальная высота сноски

[править]

Атрибут style:footnote-max-height определяет максимальное пространство на странице, которое может занимать сноска. Значением этого атрибута является величина, которая определяет максимальную высоту области сноски.

Если значение этого атрибута установлено в 0in, то нет никаких ограничений на пространство, которое может занимать сноска.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:footnote-max-height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.2.19 Режим записи

[править]

Атрибут style:writing-mode определяет режим записи, который должен использоваться во всех абзацах, находящихся на странице (см. раздел 15.5.36). Значение page недопустимо при страничной разметке.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <ref name="common-writing-mode-attlist"/>
</define>

15.2.20 Разделитель сноски

[править]

Элемент <style:footnote-sep> описывает линию, которая отделяет область сноски от области основного текста на странице.

Элемент <style:footnote-sep> поддерживает следующие атрибуты:

  • style:width — определяет ширину или толщину линии;
  • style:rel-width — определяет длину линии в процентном отношении от области основного текста;
  • style:color — определяет цвет линии;
  • style:adjustment — определяет, как линия выровнена на странице, слева, справа или по центру;
  • style:distance-before-sep — определяет пространство между областью основного текста и линией сноски;
  • style:distance-after-sep — определяет расстояние между линией сноски и текстом сноски;
  • style:line-style — определяет стиль линии.
<define name="style-page-layout-properties-elements" combine="interleave">
    <ref name="style-footnote-sep"/>
</define>

<define name="style-footnote-sep">
    <optional>
        <element name="style:footnote-sep">
            <ref name="style-footnote-sep-attlist"/>
            <empty/>
        </element>
    </optional>
</define>
<define name="style-footnote-sep-attlist" combine="interleave">
    <optional>
        <attribute name="style:width">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:rel-width">
            <ref name="percent"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:color">
            <ref name="color"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:line-style">
            <ref name="lineStyle"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:adjustment" a:defaultValue="left">
            <choice>
                <value>left</value>
                <value>center</value>
                <value>right</value>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:distance-before-sep">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:distance-after-sep">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.2.21 Сеточная разметка

[править]

Свойство style:layout-grid-mode включает азиатскую сеточную разметку. Оно имеет следующие значения.

  • none — Отключает сеточную разметку.
  • lines — При включенной сеточной разметке страница разделена на фиксированное количество строк. Точное число строк зависит от других свойств сеточной разметки, описанных ниже. Между строк сеточной разметки нет никакого пространства. Сеточная разметка центрирована на странице.
  • both — Подобно lines, за исключением того, что строки разделены на квадратные ячейки. Число ячеек в строке зависит от высоты строки, где высота строки — это сумма базовой высоты и высоты транскрипции, как определено ниже. В пределах разметки в ячейке отображается не более одного азиатского символа [UNICODE]. Азиатские символы, которые не помещаются в одну ячейку, отображаются по центру внутри необходимого количества ячеек. Неазиатский текст центрирован внутри необходимого количества ячеек.
<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-mode">
            <choice>
                <value>none</value>
                <value>line</value>
                <value>both</value>
            </choice>
        </attribute>
    </optional>
</define>

15.2.22 Базовая высота сеточной разметки

[править]

Атрибут style:layout-grid-base-height определяет высоту, необходимую в строках сеточной разметки для текста без транскрипции.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-base-height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.2.23 Высота транскрипции сеточной разметки

[править]

Атрибут style:layout-grid-ruby-height определяет высоту, необходимую для транскрипции сеточной разметки.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-ruby-height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.2.24 Строки сеточной разметки

[править]

Атрибут style:layout-grid-lines определяет количество строк на странице для сеточной разметки. Фактически количество отображенных строк может быть меньше указанного, если на странице недостаточно места для отображения количества строк с указанной высотой строки (т. е. суммы высот основного текста и транскрипции).

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-lines">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

15.2.25 Цвет линий сеточной разметки

[править]

Атрибут style:layout-grid-color определяет цвет линий сеточной разметки.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-color">
            <ref name="color"/>
        </attribute>
    </optional>
</define>

15.2.26 Положение транскрипции сеточной разметки

[править]

Атрибут style:layout-grid-ruby-below определяет, будет ли транскрипция отображена над или под основным текстом.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-ruby-below">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.2.27 Печать сеточной разметки

[править]

Атрибут style:layout-grid-ruby-print определяет, будут ли печататься линии разметки сетки строк.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-print">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.2.28 Отображение разметки сетки

[править]

Атрибут style:layout-grid-ruby-print определяет, будут ли отображаться линии разметки сетки строк.

<define name="style-page-layout-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:layout-grid-display">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.3 Свойства форматирования верхнего и нижнего колонтитулов

[править]

Свойства, описанные в этом разделе, могут содержаться в элементах стилей верхнего и нижнего колонтитулов на странице (см. раздел 14.3) Они содержатся в элементе <style:header-footer-properties>.

Используются следующие атрибуты:

<define name="style-header-footer-properties">
    <element name="style:header-footer-properties">
        <ref name="style-header-footer-properties-content"/>
    </element>
</define>

<define name="style-header-footer-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-header-footer-properties-content-strict">
    <ref name="style-header-footer-properties-attlist"/>
    <ref name="style-header-footer-properties-elements"/>
</define>

15.3.1 Фиксированная и минимальная высота

[править]

Атрибуты свойств svg:height и fo:min-height определяют фиксированную или минимальную высоту для нижнего или верхнего колонтитулов.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <optional>
        <attribute name="svg:height">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:min-height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.3.2 Поля

[править]

Атрибуты полей fo:margin, fo:margin-top, fo:margin-bottom, fo:margin-left и fo:margin-right определяют размеры полей для верхнего и нижнего колонтитулов. Для получения дополнительной информации по этим атрибутам см. разделы 15.5.17, 15.5.20 и 15.5.21. Значения в процентах не поддерживаются. Нижние поля поддерживаются только для верхних колонтитулов, верхние поля — только для нижних колонтитулов.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-horizontal-margin-attlist"/>
    <ref name="common-vertical-margin-attlist"/>
    <ref name="common-margin-attlist"/>
</define>

15.3.3 Обрамление

[править]

Атрибуты обрамления fo:border, fo:border-top, fo:border-bottom, fo:border-left и fo:border-right определяют свойства обрамления верхних и нижних колонтитулов. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.25.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-border-attlist"/>
</define>

15.3.4 Толщина линии обрамления

[править]

Если страница содержит обрамления, то атрибуты толщины линии обрамления style:border-line-width, style:border-line-width-top, style:border-line-width-bottom, style:border-line-width-left и style:border-line-width-right определяют свойства линий обрамления для верхних и нижних колонтитулов. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.26.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-border-line-width-attlist"/>
</define>

15.3.5 Заполнение

[править]

Атрибуты заполнения fo:padding, fo:padding-top, fo:padding-bottom, fo:padding-left и fo:padding-right определяют свойства заполнения для верхних и нижних колонтитулов. Для получения дополнительной информации по этим атрибутам см. раздел 15.5.27.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-padding-attlist"/>
</define>

15.3.6 Фон

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяют свойства фона для верхнего и нижнего колонтитулов. Для получения дополнительной информации по этому атрибуту и элементу см. разделы 15.5.23 и 15.5.24.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>
<define name="style-header-footer-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.3.7 Тень

[править]

Атрибут тени style:shadow определяет тень для верхних и нижних колонтитулов. Для получения дополнительной информации по этому атрибуту см. раздел 15.5.28.

<define name="style-header-footer-properties-attlist" combine="interleave">
    <ref name="common-shadow-attlist"/>
</define>

15.3.8 Динамический интервал

[править]

Свойство style:dynamic-spacing определяет, будут ли колонтитулы увеличиваться за счет расстояния между основным содержанием страницы и колонтитулами до того, как высота основного содержания страницы начнет уменьшаться. Если значение атрибута равно true, то колонтитулы будут увеличиваться за счет расстояния между колонтитулами и основным содержанием страницы.

<define name="style-header-footer-attlist" combine="interleave">
    <optional>
        <attribute name="style:dynamic-spacing">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4 Свойства форматирования текста

[править]

Свойства, описанные в этом разделе, могут содержаться в пределах стилей текста (см. раздел 14.8.1), а также в пределах других стилей, как стили абзаца (см. раздел 14.8.2) или стили ячейки (см. раздел 14.12.4) Они содержатся в элементе <style:text-properties>.

<define name="style-text-properties">
    <element name="style:text-properties">
        <ref name="style-text-properties-content"/>
    </element>
</define>

<define name="style-text-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-text-properties-content-strict">
    <ref name="style-text-properties-attlist"/>
    <ref name="style-text-properties-elements"/>
</define>

<define name="style-text-properties-elements">
    <empty/>
</define>

15.4.1 Вид шрифта

[править]

Используйте свойство fo:font-variant для включения или выключения опции отображения текста прописными буквами (см. § 7.8.8 [XSL] для подробного ознакомления).

Для некоторых реализаций свойства fo:font-variant и fo:text-transform являются взаимоисключающими. Если оба свойства используются одновременно, то результат будет неопределенным, за исключением случаев, когда значение fo:text-transform равно none и значение fo:font-variant равно normal.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:font-variant">
            <ref name="fontVariant"/>
        </attribute>
    </optional>
</define>

<define name="fontVariant">
    <choice>
        <value>normal</value>
        <value>small-caps</value>
    </choice>
</define>

15.4.2 Преобразования текста

[править]

Используйте свойство fo:text-transform для описания преобразований текста к верхнему регистру, нижнему регистру или прописным буквам (см. § 7.16.6 [XSL] для подробного ознакомления).

Для некоторых реализаций свойства fo:font-variant и fo:text-transform являются взаимоисключающими. Если оба свойства заданы и используются одновременно, то результат будет неопределенным, за исключением случаев, когда значение fo:text-transform равно none и значение fo:font-variant равно normal.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:text-transform">
            <choice>
                <value>none</value>
                <value>lowercase</value>
                <value>uppercase</value>
                <value>capitalize</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.3 Цвет

[править]

Используйте свойство fo:color для определения цвета переднего плана текста (см. § 7.17.1 [XSL] для подробного ознакомления).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:color">
            <ref name="color"/>
        </attribute>
    </optional>
</define>

15.4.4 Цвет шрифта окна

[править]

Используйте свойство style:use-window-font-color, чтобы определить, должен ли цвет переднего плана окна использоваться как цвет переднего плана для светлого фона и белый — для темного цвета фона.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:use-window-font-color">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4.5 Структура текста

[править]

Используйте свойство style:text-outline чтобы определить, показывать ли структуру текста или текст непосредственно. Этот атрибут может иметь значения true или false.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-outline">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4.6 Тип линии зачеркивания

[править]

Используйте свойство style:text-line-through-type, чтобы определить, зачеркнут ли текст, и если зачеркнут, то одиночной или двойной линией (см. раздел 15.4.28 для подробного ознакомления).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-type">
            <ref name="lineType"/>
        </attribute>
    </optional>
</define>

15.4.7 Стиль линии зачеркивания

[править]

Используйте свойство style:text-line-through-style, чтобы определить, зачеркнут ли текст, и если зачеркнут, то как. Это свойство подобно свойству [CSS3Text] text-line-style за исключением того, что оно имеет дополнительное значение long-dash и не имеет значения double. Вместо этого атрибут style:text:line-through-type может использоваться для преобразования каждой линии в двойную (см. § 9.2 [CSS3Text] и раздел 15.4.29 для подробного ознакомления).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-style">
            <ref name="lineStyle"/>
        </attribute>
    </optional>
</define>

15.4.8 Протяженность линии зачеркивания

[править]

Используйте свойство style:text-line-through-width для того, чтобы установить протяженность линии зачеркивания. Данное свойство очень похоже на свойство [CSS3Text] text-line-through-width за исключением того, что оно имеет дополнительное свойство bold. bold устанавливает протяженность линии, которая рассчитывается на основании размеров шрифтов, подобно auto ширине, однако шире, чем auto ширина (см. § 9.3 [CSS3Text] и раздел 15.4.30).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-width">
            <ref name="lineWidth"/>
        </attribute>
    </optional>
</define>

15.4.9 Цвет зачеркивания

[править]

Используйте свойство style:text-line-through-color для определения цвета, используемого при зачеркивании текста. Значением этого свойства может быть либо font-color, либо color. Если значение равно font-color, тогда для зачеркивания используется текущий цвет текста.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-color">
            <choice>
                <value>font-color</value>
                <ref name="color"/>
            </choice>
        </attribute>
    </optional>
</define>

15.4.10 Текст зачеркивания

[править]

Атрибут style:text-line-through-text интерпретируется только в том случае, если значение атрибута style:text-line-through-style отлично от пустого. Если значение атрибута не пустое, то оно используется для зачеркивания вместо линии, однако, только в том случае, если зачеркивание поддерживается текстом. Если нет, то атрибут игнорируется, это означает, что только style:text-line-through-style будет интерпретирован. Если приложение поддерживает только зачеркивание одним символом, а text-line-through-text более одного символа, тогда для зачеркивания будет использоваться только первый символ line-through-text. Если приложения поддерживают зачеркивание только строго определенными символами (например «x» или «/»), то приложение должно использовать один из этих символов в том случае, когда text-line-through-text устанавливает неподдерживаемые символы. Иными словами, зачеркивание текстом имеет более высокий приоритет, чем зачеркивание линией, даже если текст зачеркивания не предназначен для использования приложением.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-text">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

15.4.11 Стиль текста зачеркивания

[править]

Атрибут style:text-line-through-text-style определяет стиль текста, который применяется к символам зачеркивания. Он не применяется к линии зачеркивания. Если атрибут имеется в автоматическом стиле, то он может относиться либо к автоматическому стилю текста, либо к общему стилю. Если атрибут имеется в общем стиле, он может относиться только к нему.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-text-style">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

15.4.12 Позиция текста

[править]

Используйте свойство форматирования style:text-position для того, чтобы определить находится ли текст ниже или выше базовой линии, а также чтобы определить относительную высоту шрифта для данного текста.

Этот атрибут может иметь одно или два значения.

Первое значение должно присутствовать и устанавливает вертикальную позицию текста в процентах от текущей высоты шрифта, либо может принимать одно из двух значений — sub или super. Отрицательное значение в процентах, а также значение sub помещают текст ниже базовой линии. Положительное значение в процентах, а также значение super помещают текст выше базовой линии. Если указаны значения sub или super, приложение может выбирать подходящее положение текста.

Второе значение необязательно и указывает высоту шрифта в процентах относительно текущей высоты шрифта. Если это значение не указано, используется подходящая высота шрифта. Хотя это значение и может менять высоту шрифта отображаемого текста, оно не меняет высоту шрифта, используемого для дополнительных вычислений.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-position">
            <list>
                <choice>
                    <ref name="percent"/>
                    <value>super</value>
                    <value>sub</value>
                </choice>
                <optional>
                    <ref name="percent"/>
                </optional>
            </list>
        </attribute>
    </optional>
</define>

15.4.13 Название шрифта

[править]

Используйте свойства style:font-name, style:font-name-asian и style:font-name-complex, чтобы определить шрифт текста.

Значения этих атрибутов формируют имя шрифта, определяемого элементом <style:font-face> внутри элемента <office:font-face-decls>.

Атрибут style:font-name-asian применяется для [UNICODE]-символов восточно-азиатской системы письменности.

Атрибут style:font-name-complex применяется для [UNICODE]-символов сложных систем письменности.

Атрибут style:font-name применяется для остальных [UNICODE]-символов.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-name">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-name-asian">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-name-complex">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

15.4.14 Семейство шрифтов

[править]

Используйте свойства fo:font-family, style:font-family-asian и style:font-family-complex, чтобы определить семейство шрифтов для текста.

Эти атрибуты могут использоваться вместо атрибутов названия шрифта, чтобы отдельно установить свойства шрифта. Однако целесообразно использовать атрибуты style:font-name. Чтобы получить информацию о том, когда используется значение атрибута для восточно-азиатской системы письменности, а когда значение атрибута для сложных систем письменности, см. раздел 15.4.13, а также см. § 7.8.2 [XSL].

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:font-family">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-family-asian">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-family-complex">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

15.4.15 Группа семейства шрифтов

[править]

Используйте свойства style:font-family-generic, style:font-family-generic-asian и style:font-family-generic-complex, чтобы определить группу семейства шрифтов.

Эти свойства игнорируются, если нет соответствующего свойства fo:font-family, привязанного к тому же элементу свойства.

Несмотря на то, что рекомендуется использовать атрибуты названия шрифтов (см. раздел 15.4.13), эти свойства могут использоваться для установки свойств шрифта вместо них.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-family-generic">
            <ref name="fontFamilyGeneric"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-family-generic-asian">
            <ref name="fontFamilyGeneric"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-family-generic-complex">
            <ref name="fontFamilyGeneric"/>
        </attribute>
    </optional>
</define>

<define name="fontFamilyGeneric">
    <choice>
        <value>roman</value>
        <value>swiss</value>
        <value>modern</value>
        <value>decorative</value>
        <value>script</value>
        <value>system</value>
    </choice>
</define>

15.4.16 Стиль шрифта

[править]

Используйте свойства style:font-style-name, style:font-style-name-asian и style:font-style-name-complex, чтобы определить имя стиля шрифта.

Эти свойства игнорируются, если нет соответствующего свойства fo:font-family, привязанного к тому же элементу свойства.

Несмотря на то, что рекомендуется использовать атрибуты названия шрифтов (см. 15.4.13), эти свойства могут использоваться для установки свойств шрифта вместо них.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-style-name">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-style-name-asian">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-style-name-complex">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

15.4.17 Шаг шрифта

[править]

Используйте свойства style:font-pitch, style:font-pitch и style:font-pitch-complex,чтобы определить, применяется ли постоянная или переменная ширина шрифта

Эти свойства игнорируются, если нет соответствующего свойства fo:font-family, привязанного к тому же элементу свойства.

Несмотря на то, что рекомендуется использовать атрибуты названия шрифтов (см. раздел 15.4.13), эти свойства могут использоваться для установки свойств шрифта вместо них.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-pitch">
            <ref name="fontPitch"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-pitch-asian">
            <ref name="fontPitch"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-pitch-complex">
            <ref name="fontPitch"/>
        </attribute>
    </optional>
</define>

<define name="fontPitch">
    <choice>
        <value>fixed</value>
        <value>variable</value>
    </choice>
</define>

15.4.18 Набор символов шрифта

[править]

Используйте свойства style:font-charset, style:font-charset-asian и style:font-charset-complex, чтобы определить набор символов шрифта.

Значением этого атрибута может быть x-symbol либо кодировка символов в нотации, описанной в § 4.3.3 [XML1.0]. Если значение равно x-symbol, все символы, отображаемые с использованием данного шрифта должны находиться в интервале [UNICODE] символов от 0xf000 до 0xf0ff.

Эти свойства игнорируются, если нет соответствующего свойства fo:font-family, привязанного к тому же элементу свойства.

Несмотря на то, что рекомендуется использовать атрибуты названия шрифтов (см. раздел 15.4.13), эти свойства могут использоваться для установки свойств шрифта вместо них.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-charset">
            <ref name="textEncoding"/>
        </attribute>
    </optional>
</define>

<define name="textEncoding">
    <data type="string">
        <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
    </data>
</define>

15.4.19 Размер шрифта

[править]

Используйте свойства fo:font-size, style:font-size-asian и style:font-size-complex, чтобы определить размер шрифта.

Значение этого свойства — абсолютная величина или значение в процентах (см. § 8.8.4 [XSL]). В отличие от XSL, процентные значения могут использоваться только в обычных стилях и зависят от высоты шрифта родительского стиля в большей степени, чем от значения высоты шрифта, установленного соседним атрибутом. Абсолютные значения высоты шрифта, такие как medium, large, x-large и так далее, и относительные значения высоты шрифта, такие как smaller и larger, не поддерживаются.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:font-size">
            <choice>
                <ref name="positiveLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-size-asian">
            <choice>
                <ref name="positiveLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-size-complex">
            <choice>
                <ref name="positiveLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.4.20 Масштаб шрифта

[править]

Используйте свойства style:font-size-rel, style:font-size-rel-asian и style:font-size-rel-complex, чтобы определить масштаб шрифта.

Эти свойства определяют изменение масштаба шрифта в некоторых единицах, например +1pt, -3pt. Это не может использоваться с автоматическими стилями. Изменения размеров зависят от размеров шрифта, установленных в родительском стиле для данного стиля.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-size-rel">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-size-rel-asian">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-size-rel-complex">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.4.21 Тип скрипта

[править]

Свойство style:script-type может использоваться для указания атрибутов, связанных с типом скрипта (например, fo:font-family, style:font-family-asian, style:font-family-complex), активных в настоящее время для некоторого текста. Атрибут должен вычисляться приложениями, которые не поддерживают типы скриптов, чтобы установить свойства, обусловленные типами скриптов. Приложение, поддерживающее типы скриптов, также может интерпретировать атрибут и переопределять тип, используемый для некоторых символов, но не обязательно.

Использование данного свойства упрощает преобразования из/в [CSS2]/[XSL] и другие форматы, не поддерживающие атрибутов, связанных с типами скриптов. Данное свойство может использоваться также для применения типов скриптов для [UNICODE] символов, там где приложение может выбрать различные типы скриптов.

Значениями данного свойства могут быть latin, asian, complex и ignore. Значение ignore может быть использовано только со стилями по умолчанию. Если оно установлено, атрибуты, связанные с типами скриптов, применяются ко всем типам скриптов. Это может, например, означать, что fo:font-family будет применен ко всем типам скриптов, также как style:font-family-asian или style:font-family-complex. Это упрощает сохранение документов из приложений, не поддерживающих тип скрипта.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:script-type">
            <choice>
                <value>latin</value>
                <value>asian</value>
                <value>complex</value>
                <value>ignore</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.22 Межбуквенный интервал

[править]

Используйте свойство fo:letter-spacing, чтобы определить количество межбуквенных пробелов. Значением этого свойства может быть либо normal, либо конкретное значение (см. § 7.16.2 в [XSL]).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:letter-spacing">
            <choice>
                <ref name="length"/>
                <value>normal</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.23 Язык

[править]

Используйте свойства fo:language, fo:language-asian и fo:language-complex, чтобы определить язык написания текста (см. § 7.9.2 в [XSL]).

Некоторые приложения игнорируют эти свойства в том случае, если они не устанавливаются вместе с соответствующим свойством fo:country.

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

fo:language, fo:language-asian и fo:language-complex.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:language">
            <ref name="languageCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:language-asian">
            <ref name="languageCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:language-complex">
            <ref name="languageCode"/>
        </attribute>
    </optional>
</define>

15.4.24 Страна

[править]

Используйте свойства fo:country, style:country-asian и style:country-complex, чтобы определить страну текста (см. § 7.9.1 в [XSL]).

Некоторые приложения игнорируют данное свойство, если оно не задается вместе с соответствующим свойством fo:language.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:country">
            <ref name="countryCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:country-asian">
            <ref name="countryCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:country-complex">
            <ref name="countryCode"/>
        </attribute>
    </optional>
</define>

15.4.25 Стиль шрифта

[править]

Используйте свойства fo:font-style, style:font-style-asian и style:font-style-complex, чтобы определить, какой шрифт применяется — курсив или обычный (см. § 7.8.7 в [XSL]).

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:font-style">
            <ref name="fontStyle"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-style-asian">
            <ref name="fontStyle"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-style-complex">
            <ref name="fontStyle"/>
        </attribute>
    </optional>
</define>

<define name="fontStyle">
    <choice>
        <value>normal</value>
        <value>italic</value>
        <value>oblique</value>
    </choice>
</define>

15.4.26 Рельефный шрифт

[править]

Используйте свойство style:font-relief, чтобы определить, является ли текст выпуклым, высеченным или плоским.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-relief">
            <choice>
                <value>none</value>
                <value>embossed</value>
                <value>engraved</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.27 Тень шрифта

[править]

Используйте свойство fo:text-shadow, чтобы определить применение теневого эффекта (см. § 7.16.5 в [XSL]).

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:text-shadow">
            <ref name="shadowType"/>
        </attribute>
    </optional>
</define>

<define name="shadowType">
    <choice>
        <value>none</value>
        <!-- The following string must match an XSL shadow decl -->
        <ref name="string"/>
    </choice>
</define>

15.4.28 Тип подчеркивания

[править]

Используйте свойство style:text-underline-type, чтобы определить подчеркивается ли текст, и если да, то одинарной или двойной чертой.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-underline-type">
            <ref name="lineType"/>
        </attribute>
    </optional>
</define>

<define name="lineType">
    <choice>
        <value>none</value>
        <value>single</value>
        <value>double</value>
    </choice>
</define>

15.4.29 Стиль подчеркивания

[править]

Используйте свойство style:text-underline-style, чтобы определить подчеркивается ли текст, и если да, то как. Значение данного свойства — стиль подчеркивания, например single, dotted, dash. Это свойство похоже на свойство text-underline-style (см. [CSS3Text]), за исключением того, что оно имеет дополнительное значение long-dash и не имеет значения double. Вместо этого имеется атрибут style:text:underline-type, который можно использовать для установления двойной линии подчеркивания (см. § 9.2 [CSS3Text]).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-underline-style">
            <ref name="lineStyle"/>
        </attribute>
    </optional>
</define>

<define name="lineStyle">
    <choice>
        <value>none</value>
        <value>solid</value>
        <value>dotted</value>
        <value>dash</value>
        <value>long-dash</value>
        <value>dot-dash</value>
        <value>dot-dot-dash</value>
        <value>wave</value>
    </choice>
</define>

15.4.30 Протяженность подчеркивания

[править]

Используйте свойство style:text-underline-width, чтобы определить протяженность подчеркивания. Данное свойство очень похоже на свойство [CSS3Text] text-underline-width за исключением того, что оно имеет дополнительное значение bold. bold устанавливает протяженность линии, которая вычисляется на основании размеров шрифта, подобно auto протяженности, однако bold шире auto протяженности.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-underline-width">
            <ref name="lineWidth"/>
        </attribute>
    </optional>
</define>

<define name="lineWidth">
    <choice>
        <value>auto</value>
        <value>normal</value>
        <value>bold</value>
        <value>thin</value>
        <value>dash</value>
        <value>medium</value>
        <value>thick</value>
        <ref name="positiveInteger"/>
        <ref name="percent"/>
        <ref name="positiveLength"/>
    </choice>
</define>

15.4.31 Цвет подчеркивания

[править]

Используйте свойство style:text-underline-color, чтобы определить цвет подчеркивания. Значением данного свойства может быть font-color либо конкретное значение цвета. Если значение равно font-color, то цветом линий подчеркивания становится текущее значение цвета шрифта.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-underline-color">
            <choice>
                <value>font-color</value>
                <ref name="color"/>
            </choice>
        </attribute>
    </optional>
</define>

15.4.32 Насыщенность шрифта

[править]

Используйте свойства fo:font-weight, style:font-weight-asian и style:font-weight-complex, чтобы определить насыщенность шрифта (см. § 7.8.9 в [XSL]).

Поддерживаются точные числовые значения, относительные значения lighter или bolder не поддерживаются. Неподдерживаемые числовые значения округляются до ближайшего поддерживаемого значения.

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

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:font-weight">
            <ref name="fontWeight"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-weight-asian">
            <ref name="fontWeight"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:font-weight-complex">
            <ref name="fontWeight"/>
        </attribute>
    </optional>
</define>

<define name="fontWeight">
    <choice>
        <value>normal</value>
        <value>bold</value>
        <value>100</value>
        <value>200</value>
        <value>300</value>
        <value>400</value>
        <value>500</value>
        <value>600</value>
        <value>700</value>
        <value>800</value>
        <value>900</value>
    </choice>
</define>

15.4.33 Режим подчеркивания слов

[править]

Используйте свойство style:text-underline-mode, чтобы определить, применяется ли подчеркивание для отдельных слов или для участков текста. Если применяется подчеркивание для участков текста, подчеркиваются слова и пробелы между ними. Это свойство подобно свойству text-underline-mode из [CSS3Text] (см. § 9.5 в [CSS3Text]).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-underline-mode">
            <ref name="lineMode"/>
        </attribute>
    </optional>
</define>

<define name="lineMode">
    <choice>
        <value>continuous</value>
        <value>skip-white-space</value>
    </choice>
</define>

15.4.34 Режим зачеркивания слов

[править]

Используйте свойство style:text-line-through-mode, чтобы определить, применяется ли зачеркивание для отдельных слов или для участков текста. Если применяется зачеркивание для участков текста, зачеркиваются слова и пробелы между ними. Это свойство подобно свойству text-line-through-mode из [CSS3Text] (см. § 9.5 [CSS3Text]).

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-line-through-mode">
            <ref name="lineMode"/>
        </attribute>
    </optional>
</define>

15.4.35 Кернинг букв

[править]

Используйте свойство, чтобы активировать или деактивировать кернинг между символами.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:letter-kerning">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4.36 Мигание текста

[править]

Используйте свойство style:text-blinking, чтобы определить мигает ли текст.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-blinking">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4.37 Цвет фона текста

[править]

Используйте свойство fo:background-color, чтобы определить цвет фона (см. § 7.7.2 [XSL]).

Значением этого свойства может быть transparent либо конкретное значение цвета.

<define name="style-text-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>

15.4.38 Объединение текста

[править]

Используйте свойство style:text-combine, чтобы объединить символы так, чтобы они отображались в две строки.

Значением этого атрибута может быть none, letters или lines.

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

В том случае, если значением атрибута является letters, до пяти символов объединяется в две строки. Любые дополнительные символы отображаются как обычный текст.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-combine">
            <choice>
                <value>none</value>
                <value>letters</value>
                <value>lines</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.39 Начальный и конечный символы объединения текста

[править]

Используйте свойства style:text-combine-start-char и style:text-combine-end-char, чтобы определить начальный и конечный символы, которые отображаются перед и после участка текста, чье свойство style:text-combine принимает значение lines.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-combine-start-char">
            <ref name="character"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:text-combine-end-char">
            <ref name="character"/>
        </attribute>
    </optional>
</define>

15.4.40 Выделение текста

[править]

Используйте свойство style:text-emphasize, чтобы выделить текст в восточно-азиатских документах.

Значение данного атрибута состоит из двух разделенных пробелом значений.

Первое значение определяет стиль выделения и может принимать значения none, accent, dot, circle или disc.

Второе значение определяет положение выделения и может принимать значения above или below. Если первое значение равно none, то второе может быть опущено.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-emphasize">
            <choice>
                <value>none</value>
                <list>
                    <choice>
                        <value>none</value>
                        <value>accent</value>
                        <value>dot</value>
                        <value>circle</value>
                        <value>disc</value>
                    </choice>
                    <choice>
                        <value>above</value>
                        <value>below</value>
                    </choice>
                </list>
            </choice>
        </attribute>
    </optional>
</define>

15.4.41 Масштаб текста

[править]

Используйте свойство style:text-scale, чтобы увеличить или уменьшить масштаб текста, масштабируя шрифт.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-scale">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

15.4.42 Угол вращения текста

[править]

Свойство style:text-rotation-angle определяет угол, на который текст будет повернут. Значением этого атрибута могут быть 0, 90, или 270. При значении угла, большем 359, используется остаток от деления этого значения на 360. Любое значение остатка, не равное 0, 90 или 270, заменяется ближайшим из них.

Если данный атрибут установлен для более чем одного символа, то будет повернут весь текст, содержащий эти символы.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-rotation-angle">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>

15.4.43 Масштабирование при вращении

[править]

Если текст повернут, свойство style:text-rotation-scale определяет, должен ли текст быть масштабирован, чтобы уместиться в текущую строку по высоте либо он должен остаться неизменным, но тогда меняется текущая высота строки.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-rotation-scale">
            <choice>
                <value>fixed</value>
                <value>line-height</value>
            </choice>
        </attribute>
    </optional>
</define>

15.4.44 Расстановка переносов

[править]

Используйте свойство fo:hyphenate, чтобы включить или выключить автоматическую расстановку переносов (см. § 7.9.4 в [XSL]).

Некоторые приложения могут не поддерживать свойства fo:hyphenate, fo:hyphenation-keep, fo:hyphenation-remain-char-count, fo:hyphenation-push-char-count и fo:hyphenation-ladder-count, независимые друг от друга в стиле. Целесообразным значением по умолчанию для свойства fo:hyphenate в этом случае является false.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:hyphenate">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.4.45 Количество символов до переноса

[править]

Используйте свойство, чтобы установить количество символов, которое должно должно присутствовать до символа переноса (см. § 7.9.7 в [XSL]).

Некоторые приложения могут не поддерживать такие значения свойства, как fo:hyphenate, fo:hyphenation-keep, fo:hyphenation-remain-char-count, fo:hyphenation-push-char-count и fo:hyphenation-ladder-count, независимо друг от друга в стиле. Целесообразное значение по умолчанию для свойства fo:hyphenation-remain-char-count в таком случае будет 0.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:hyphenation-remain-char-count">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

15.4.46 Количество переносимых символов

[править]

Используйте свойство fo:hyphenation-push-char-count, чтобы указать, какое минимальное количество символов может быть перенесено на следующую строку (см. § 7.9.6 в [XSL]).

Некоторые приложения не поддерживают такие значения данного свойства, как fo:hyphenate, fo:hyphenation-keep, fo:hyphenation-remain-char-count, fo:hyphenation-push-char-count и fo:hyphenation-ladder-count независимо друг от друга в стиле. Целесообразное значение по умолчанию для параметра fo:hyphenation-push-char-count в этом случае будет 0.

<define name="style-text-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:hyphenation-push-char-count">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

15.4.47 Скрытый или условный текст

[править]

Свойство text:display позволяет скрывать текст. Также это скрытие текста можно сделать зависимым от некоторого условия. Эти атрибуты и их значения такие же, как и для атрибута text:display для разделов текста (см. раздел 4.4). Значениями этого атрибута могут быть:

  • true — текст будет отображен как обычно, это значение используется по умолчанию;
  • none — текст будет скрытым;
  • condition — определяет, будет ли текст скрытым или нет, в этом случае должен присутствовать атрибут text:condition, определяющий условие.
<define name="style-text-properties-attlist" combine="interleave">
    <choice>
        <attribute name="text:display">
            <value>true</value>
        </attribute>
        <attribute name="text:display">
            <value>none</value>
        </attribute>
        <group>
            <attribute name="text:display">
                <value>condition</value>
            </attribute>
            <attribute name="text:condition">
                <value>none</value>
            </attribute>
        </group>
        <empty/>
    </choice>
</define>

15.5 Свойства форматирования абзаца

[править]

Свойства описанные в этом разделе могут быть описаны для стилей абзаца (см. раздел 14.8.2), а также и для других стилей, таких как стили ячеек (см. раздел 14.12.4). Они включатся в элемент <style:paragraph-properties>.

<define name="style-paragraph-properties">
    <element name="style:paragraph-properties">
        <ref name="style-paragraph-properties-content"/>
    </element>
</define>

<define name="style-paragraph-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-paragraph-properties-content-strict">
    <ref name="style-paragraph-properties-attlist"/>
    <ref name="style-paragraph-properties-elements"/>
</define>

15.5.1 Фиксированная высота строки

[править]

Используйте свойство fo:line-height для определения фиксированной высоты строки, размер или процентное значение которой связано с самым большим символом в строке. Значение normal активизирует расчет высоты строки по умолчанию. Это свойство также используется для отключения эффектов свойств style:line-height-at-least и style:line-spacing. Значением этого свойства может быть размер, процент или значение normal (см. § 7.15.4 в [XSL] для подробного ознакомления).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:line-height">
            <choice>
                <value>normal</value>
                <ref name="nonNegativeLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.2 Минимальная высота строки

[править]

Используйте свойство style:line-height-at-least для определения минимальной высоты строки. Это свойство может содержать значение размера. Значение normal использовать нельзя.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:line-height-at-least">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

15.5.3 Межстрочный интервал

[править]

Свойство style:line-spacing используется для определения фиксированного интервала между двумя строками. Значение normal не может быть использовано.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:line-spacing">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.5.4 Межстрочный интервал, независимый от шрифта

[править]

Это свойство style:font-independent-line-spacing определяет, зависит ли межстрочный интервал от шрифта. Если установлено значение true, то высота строки рассчитывается только от высоты шрифта и зависит от атрибутов fo:font-size, style:font-size-asian и style:font-size-complex, определяющих размер шрифта. Если значение равно false, то единицы текущего шрифта принимаются во внимание.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-independent-line-spacing">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.5 Выравнивание текста

[править]

Свойство fo:text-align используется для определения того, как выравнен текст в абзацах.

Это свойство может принимать значение start, end, left, right, center или justify (см. §7.15.9 [XSL] для детального ознакомления). Значения inside и outside не поддерживаются.

Если значение для свойств fo:text-align-last и style:justify-single-word не определено в текущем элементе, то значение этих свойств устанавливается в start и false соответственно.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-text-align"/>
</define>

<define name="common-text-align">
    <optional>
        <attribute name="fo:text-align">
            <choice>
                <value>start</value>
                <value>end</value>
                <value>left</value>
                <value>right</value>
                <value>center</value>
                <value>justify</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.6 Выравнивание текста в последней строке

[править]

Используйте свойство fo:text-align-last для определения, как выравнена последняя строка настраиваемого абзаца (см. § 7.15.9 [XSL] для детального ознакомления). Это свойство может принимать только следующие значения start, center или justify.

Это свойство игнорируется, если не сопровождается свойством fo:text-align.

Если значения для свойств fo:text-align и style:justify-single-word не определены, то они принимают значение start и false соответственно.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:text-align-last">
            <choice>
                <value>start</value>
                <value>center</value>
                <value>justify</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.7 Выравнивание отдельного слова

[править]

Если последняя строка абзаца выровнена по ширине, то свойство style:justify-single-word используется для определения того, должно ли единственное слово быть выровнено по ширине.

Если значение для свойств fo:text-align и fo:text-align-last не определены, то они устанавливаются в значение start. Это означает, что определение свойства style:justify-single-word без определения свойств fo:text-align и fo:text-align-last не даст никакого эффекта.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:justify-single-word">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.8 Не разрывать

[править]

Используйте свойство fo:keep-together для контролирования строк абзаца, которые должны быть вместе на странице или в колонке, если установлено значение alway), или при разрешенных разрывах в абзаце, если установлено значение auto (см. § 7.19.3 [XSL] для детального ознакомления).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:keep-together">
            <choice>
                <value>auto</value>
                <value>always</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.9 Висячие строки в начале абзаца

[править]

Свойство fo:widows используется для определения минимального числа строк, допустимых вверху страницы, без отрыва от абзаца (см. § 7.19.7 [XSL] для детального ознакомления).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:widows">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>

15.5.10 Висячие строки в конце абзаца

[править]

Свойство fo:orphans используется для определения минимального числа строк, допустимых внизу страницы, без отрыва от абзаца (см. § 7.19.6 [XSL] для детального ознакомления).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:orphans">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>

15.5.11 Табулостопы

[править]

Элемент <style:tab-stops> табуляции используется для определения табулостопов.

Каждая позиция табулостопов представлена одним элементом <style:tab-stop>, включенным в элемент <style:tab-stops>.

<define name="style-paragraph-properties-elements" combine="interleave">
    <ref name="style-tab-stops"/>
</define>

<define name="style-tab-stops">
    <optional>
        <element name="style:tab-stops">
            <zeroOrMore>
                <ref name="style-tab-stop"/>
            </zeroOrMore>
        </element>
    </optional>
</define>

<define name="style-tab-stop">
    <element name="style:tab-stop">
        <ref name="style-tab-stop-attlist"/>
        <empty/>
    </element>
</define>

С элементами <style:tab-stop> могут быть связаны следующие атрибуты:

  • позиция табулостопа;
  • тип табулостопа;
  • символ разделителя;
  • тип пунктирной линии;
  • стиль пунктирной линии;
  • ширина пунктирной линии;
  • цвет пунктирной линии;
  • текстовая линия;
  • стиль текстовой линии.
Позиция табулостопа
[править]

Атрибут style:position определяет позицию табулостопа.

Этот атрибут связан с элементом <style:tab-stop>, в качестве значения устанавливается длина.

<define name="style-tab-stop-attlist" combine="interleave">
    <attribute name="style:position">
        <ref name="nonNegativeLength"/>
    </attribute>
</define>
Тип табулостопа
[править]

Атрибут style:type определяет тип табулостопа.

Этот атрибут связан с элементом <style:tab-stop> и может принимать значения left, center, right или char.

<define name="style-tab-stop-attlist" combine="interleave">
    <choice>
        <optional>
            <attribute name="style:type" a:defaultValue="left">
                <choice>
                    <value>left</value>
                    <value>center</value>
                    <value>right</value>
                </choice>
            </attribute>
        </optional>
        <group>
            <attribute name="style:type">
                <value>char</value>
            </attribute>
            <ref name="style-tab-stop-char-attlist"/>
        </group>
    </choice>
</define>
Символ разделителя
[править]

Атрибут style:char определяет символ разделителя типа char для табулостопа.

Этот атрибут связан с элементом <style:tab-stop> и должен присутствовать, если установлено значение char атрибута style:type. Если значение атрибута style:type установлено не char, то оно игнорируется.

Значение этого атрибута должно быть символом [UNICODE].

<define name="style-tab-stop-char-attlist" combine="interleave">
    <attribute name="style:char">
        <ref name="character"/>
    </attribute>
</define>
Тип пунктирной линии
[править]

Атрибут style:leader-type определяет, отображается ли пунктирная линия, и если да, то используется ли одиночная или двойная линия (см. также раздел 15.4.28).

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-type">
            <ref name="lineType"/>
        </attribute>
    </optional>
</define>
Стиль пунктирной линии
[править]

Свойство style:leader-style используется для определения когда и каким образом изображается пунктирная линия. Стили линий, которые можно использовать рассмотрены в разделе 15.4.29.

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-style">
            <ref name="lineStyle"/>
        </attribute>
    </optional>
</define>
Ширина пунктирной линии
[править]

Свойство style:leader-width используется для определения ширины пунктирной линии. Для определения значений этого атрибута см. раздел 15.4.30.

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-width">
            <ref name="lineWidth"/>
        </attribute>
    </optional>
</define>
Цвет пунктирной линии
[править]

Свойство style:leader-color используется для определения цвета, установленного для пунктирной линии. Это свойство может принимать значение font-color или название цвета. Если значение установлено в font-color, то цвет текущего текста используется и для пунктирной линии.

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-color">
            <choice>
                <value>font-color</value>
                <ref name="color"/>
            </choice>
        </attribute>
    </optional>
</define>
Текстовая линия
[править]

Атрибут style:leader-text определяет текстовую линию, используемую в табуляции. Если значение атрибута не пустое, то значение строки атрибута используется как текстовая линия вместо линии, которая была определена, при условии, что приложение поддерживает текстовую линию. Если приложение не поддерживает текст, то этот атрибут игнорируется, это означает, что будет использован только style:leader-style. Если приложение поддерживает текст, состоящий только из отдельных символов, и текстовая линия состоит больше чем из одного символа, используется только первый символ. Если приложение поддерживает текстовую линию только с определенными символами (как «.» или «_»), то приложение должно использовать только один из этих символов, если текстовая линия определена неподдерживаемыми символами. Другими словами: текстовая линия имеет более высокий приоритет, чем пунктирная линия, даже если текстовая линия должна быть адаптирована для использования ее приложением.

Этот атрибут связан с элементом <style:tab-stop> и в качестве значения должен быть установлен один символ [UNICODE].

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-text" a:defaultValue=" ">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Стиль текстовой линии
[править]

Атрибут style:leader-text-style определяет стиль текста, применяемого для текстовой линии. Он не применяется для основного текста строк. Если атрибут использует автоматический стиль, то он может определить автоматически стиль для каждого текста или только общий стиль. Если атрибут используется в общем стиле, то он может быть связан только с общим стилем.

<define name="style-tab-stop-attlist" combine="interleave">
    <optional>
        <attribute name="style:leader-text-style">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

15.5.12 Дистанция табулостопов

[править]

Атрибут style:tab-stop-distance определяет расстояние между началом и концом табулостопа. По умолчанию табулостоп автоматически повторяется после указанного расстояния. Табулостопы по умолчанию вычисляются, только если они определены стилем по умолчанию (см. раздел 14.2).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:tab-stop-distance">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

15.5.13 Удержание переноса

[править]

Свойство fo:hyphenation-keep используется для включения или отключения расстановки переносов в последнем слове страницы (см. § 7.15.1 в [XSL] для детального ознакомления).

Некоторые приложения могут не поддерживать установку свойств fo:hyphenate, fo:hyphenation-keep, fo:hyphenation-remain-char-count, fo:hyphenation-push-char-count и fo:hyphenation-ladder-count в стиле независимо друг от друга. В этом случае для fo:hyphenation-keep подходящим значением является auto.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:hyphenation-keep">
            <choice>
                <value>auto</value>
                <value>page</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.14 Максимальное число последовательных переносов

[править]

Свойство fo:hyphenation-ladder-count используется для определения максимального числа следующих друг за другом строк, которые могут включать слова с переносом (см. § 7.15.2 [XSL] для детального ознакомления).

Некоторые приложения могут не поддерживать установку свойств fo:hyphenate, fo:hyphenation-keep, fo:hyphenation-remain-char-count, fo:hyphenation-push-char-count и fo:hyphenation-ladder-count в стиле независимо друг от друга. В этом случае для fo:hyphenation-push-char-count целесообразным значением является no-limit.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:hyphenation-ladder-count">
            <choice>
                <value>no-limit</value>
                <ref name="positiveInteger"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.15 Буквица

[править]

Элемент <style:drop-cap> используется для определения, отображается ли первый символ или больше символов в абзаце в прописном шрифте. Этот элемент может включать элемент <style:paragraph-properties>.

<define name="style-paragraph-properties-elements" combine="interleave">
    <ref name="style-drop-cap"/>
</define>

<define name="style-drop-cap">
    <optional>
        <element name="style:drop-cap">
            <ref name="style-drop-cap-attlist"/>
            <empty/>
        </element>
    </optional>
</define>

Элемент <style:drop-cap> может быть связан со следующими атрибутами:

  • длина;
  • строки;
  • интервал;
  • стиль текста.
Длина
[править]

Атрибут style:length определяет число символов, которые нужно сделать прописными.

Значение этого атрибута может быть числом или word, которое указывает, что первое слово должно быть сделано прописным.

<define name="style-drop-cap-attlist" combine="interleave">
    <optional>
        <attribute name="style:length" a:defaultValue="1">
            <choice>
                <value>word</value>
                <ref name="positiveInteger"/>
            </choice>
        </attribute>
    </optional>
</define>
Строки
[править]

Атрибут style:lines определяет число строк, окружающих буквицу.

<define name="style-drop-cap-attlist" combine="interleave">
    <optional>
        <attribute name="style:lines" a:defaultValue="1">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>
Интервал
[править]

Атрибут style:distance определяет размер между последним символом буквицы и первым из оставшихся символов в каждой строке. Значением этого атрибута является длина.

<define name="style-drop-cap-attlist" combine="interleave">
    <optional>
        <attribute name="style:distance" a:defaultValue="0cm">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
Стиль текста
[править]

Атрибут style:style-name определяет стиль текста буквицы.

<define name="style-drop-cap-attlist" combine="interleave">
    <optional>
        <attribute name="style:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

15.5.16 Приводка

[править]

Свойство style:register-true определяет, совпадают ли линии обоих сторон на распечатанной странице, когда печать осуществлялась в режиме двусторонней печати. Это также гарантирует, что текст в колонках страницы или колонки текстового блока расположены так, что базовые линии текста начала одной колонки кажутся окончанием другой (см. также раздел 15.2.12).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:register-true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.17 Левое и правое поля

[править]

Свойства fo:margin-left и fo:margin-right используются для определения левого и правого поля для абзаца (см. § 7.10.3 и § 7.10.4 [XSL] для детального ознакомления). Значение auto не поддерживается. Процентное значение поддерживается, только для общих стилей. В этом случае они определяют края родительского стиля.

Для некоторых приложений эти два свойства должны быть использованы совместно и также вместе со свойством fo:text-indent. Если хотя бы одно из этих значений отсутствует, его значение устанавливается в 0 см.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-horizontal-margin-attlist"/>
</define>

<define name="common-horizontal-margin-attlist">
    <optional>
        <attribute name="fo:margin-left">
            <choice>
                <ref name="length"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:margin-right">
            <choice>
                <ref name="length"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.18 Отступ текста

[править]

Свойство fo:text-indent используется для определения положительного или отрицательного отступа первой строки абзаца (см. § 7.15.11 [XSL] для детального ознакомления). Процентное значение поддерживается только в общих стилях. Здесь они соответствуют относительным границам родительского стиля.

Для некоторых приложений свойство fo:text-indent должно использоваться вместе со свойствами fo:margin-left и fo:margin-right.

Если любое из этих свойств пропущено, то его значение устанавливается в 0 см.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:text-indent">
            <choice>
                <ref name="length"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.19 Автоматический отступ текста

[править]

Свойство style:auto-text-indent используется для определения того, что значение отступа первой строки абзаца базируется на размере текущего шрифта.

Для некоторых приложений свойство style:auto-text-indent должно использоваться вместе со свойствами fo:margin-left и fo:margin-right. Если любое из этих свойств пропущено, то его значение устанавливается в 0 см.

Если значение этого свойства true и используется вместе с свойством fo:text-indent, тогда свойство fo:text-indent игнорируется.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:auto-text-indent">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.20 Верхнее и нижнее поля

[править]

Свойства fo:margin-top и fo:margin-bottom используются для определения верхнего и нижнего поля для абзаца (см. § 7.10.1 и § 7.10.2 [XSL] для детального ознакомления). Значение auto не поддерживается. Процентные значения поддерживаются только для общих стилей. Они ссылаются на соответствующие поля родительских стилей.

Для некоторых приложений эти два свойства должны использоваться вместе. Если любое из этих свойств пропущено, то его значение устанавливается в 0 см.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-vertical-margin-attlist"/>
</define>

<define name="common-vertical-margin-attlist">
    <optional>
        <attribute name="fo:margin-top">
            <choice>
                <ref name="nonNegativeLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:margin-bottom">
            <choice>
                <ref name="nonNegativeLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.21 Поля

[править]

Свойство fo:margin используется для одновременного определения верхнего, нижнего, левого и правого поля для абзацев (см. § 7.29.4 [XSL] и разделы 15.5.17 и 15.5.20 для детального ознакомления).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-margin-attlist"/>
</define>

<define name="common-margin-attlist">
    <optional>
        <attribute name="fo:margin">
            <choice>
                <ref name="nonNegativeLength"/>
                <ref name="percent"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.22 Разрыв до и разрыв после

[править]

Свойства fo:break-before и fo:break-after используются для размещения на странице или в колонке: разрыв до или разрыв после абзаца (см. § 7.19.1 и § 7.19.2 [XSL] детального ознакомления). Значения odd-page и even-page не поддерживаются.

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

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-break-attlist"/>
</define>

<define name="common-break-attlist">
    <optional>
        <attribute name="fo:break-before">
            <choice>
                <value>auto</value>
                <value>column</value>
                <value>page</value>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:break-after">
            <choice>
                <value>auto</value>
                <value>column</value>
                <value>page</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.23 Фоновый цвет абзаца

[править]

Свойство fo:background-color используется для определения фонового цвета абзаца (см. § 7.7.2 [XSL] для детального ознакомления).

Значение этого атрибута может быть transparent или цветом. Если значение transparent, то включается любое изображение, определенное в элементе <style:background-image>.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>

<define name="common-background-color-attlist">
    <optional>
        <attribute name="fo:background-color">
            <choice>
                <value>transparent</value>
                <ref name="color"/>
            </choice>
        </attribute>
    </optional>
</define>

15.5.24 Фоновое изображение абзаца

[править]

Элемент <style:background-image> используется для определения фонового изображения абзаца.

Фоновое изображение может храниться одним из следующих способов (см. также раздел 9.3.2):

  • данные изображения хранятся во внешнем файле, используются атрибуты [XLink] для определения месторасположения рисунка;
  • данные изображения включены в подэлемент <office:binary-data> в кодировке BASE64.

Если элемент <style:background-image> отсутствует и если цвет не определен элементом fo:background-color в свойствах тождественных элементов, то фоновый цвет устанавливается в значение transparent.

<define name="style-paragraph-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

<define name="style-background-image">
    <optional>
        <element name="style:background-image">
            <ref name="style-background-image-attlist"/>
            <choice>
                <ref name="common-draw-data-attlist"/>
                <ref name="office-binary-data"/>
                <empty/>
            </choice>
        </element>
    </optional>
</define>

Элемент <style:background-image> может быть связан со следующими атрибутами:

  • повторение;
  • позиция;
  • фильтр;
  • непрозрачность.
Повторение
[править]

Атрибут style:repeat определяет, повторяется ли фоновое изображение в абзаце.

Этот атрибут присоединен к элементу <style:background-image> и может иметь значения no-repeat, repeat или stretch.

<define name="style-background-image-attlist" combine="interleave">
    <optional>
        <attribute name="style:repeat" a:defaultValue="repeat">
            <choice>
                <value>no-repeat</value>
                <value>repeat</value>
                <value>stretch</value>
            </choice>
        </attribute>
    </optional>
</define>
Позиция
[править]

Атрибут style:position определяет позицию фонового изображения в абзаце.

Этот атрибут присоединен к элементу <style:background-image> и может иметь разделенную пробелами комбинацию значений top, center или bottom по вертикальной позиции и left, center или right для горизонтальной позиции. Вертикальные или горизонтальные позиции могут определяться в любом сочетании. Если определена одна позиция, то вторая принимает значение по умолчанию center.

<define name="style-background-image-attlist" combine="interleave">
    <optional>
        <attribute name="style:position" a:defaultValue="center">
            <choice>
                <value>left</value>
                <value>center</value>
                <value>right</value>
                <value>top</value>
                <value>bottom</value>
                <list>
                    <ref name="horiBackPos"/>
                    <ref name="vertBackPos"/>
                </list>
                <list>
                    <ref name="vertBackPos"/>
                    <ref name="horiBackPos"/>
                </list>
            </choice>
        </attribute>
    </optional>
</define>

<define name="horiBackPos">
    <choice>
        <value>left</value>
        <value>center</value>
        <value>right</value>
    </choice>
</define>
<define name="vertBackPos">
    <choice>
        <value>top</value>
        <value>center</value>
        <value>bottom</value>
    </choice>
</define>
Фильтр
[править]

Атрибут style:filter-name определяет специфические имена фильтров приложения, которые могут быть загружены для изображения в документе.

Этот атрибут присоединен к элементу <style:background-image>.

<define name="style-background-image-attlist" combine="interleave">
    <optional>
        <attribute name="style:filter-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Непрозрачность
[править]

Атрибут draw:opacity определяет непрозрачность фонового изображения. Значение устанавливается в процентах, где 0 % — прозрачное, 100 % — полностью непрозрачное.

<define name="style-background-image-attlist" combine="interleave">
    <optional>
        <attribute name="draw:opacity">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

15.5.24 Обрамление

[править]

Свойства обрамления fo:border, fo:border-top, fo:border-bottom, fo:border-left и fo:border-right используются для определения свойств обрамления абзаца (см. § 7.29.3 — § 7.29.7 [XSL] для детального ознакомления).

Свойство fo:border применяется ко всем четырем сторонам абзаца, в то время как другие свойства применимы только к определенным сторонам.

Для некоторых приложений все четыре обрамления должны быть установлены либо использованием свойства fo:border, либо применением всех остальных четырех свойств обрамления к элементу свойств. В последнем случае, если одно или больше свойств пропущены, то их значение устанавливается в none.

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

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-border-attlist"/>
</define>

<define name="common-border-attlist">
    <optional>
        <attribute name="fo:border">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:border-top">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:border-bottom">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:border-left">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:border-right">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

15.5.26 Толщина линии обрамления

[править]

Если стиль линии для обрамления double, то используются свойства обрамления style:border-line-width, style:border-line-width-top, style:border-line-width-bottom, style:border-line-width-left и style:border-line-width-right для индивидуального определения толщины внутренних и внешних линий и расстояния между ними.

style:border-line-width определяет толщину линии для всех четырех сторон, в то время как другие атрибуты определят толщину линии только для одной из сторон.

Значение атрибутов может быть списком трех разделенных пробелом значений:

  • первое значение определяет толщину внутренней линии;
  • второе значение определяет расстояние между двумя линиями;
  • третье значение определяет толщину внешней линии.

Результат объединения обрамления без определения рамки со стилем double для некоторых рамок не определен.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-border-line-width-attlist"/>
</define>

<define name="common-border-line-width-attlist">
    <optional>
        <attribute name="style:border-line-width">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:border-line-width-top">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:border-line-width-bottom">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:border-line-width-left">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:border-line-width-right">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
</define>

<define name="borderWidths">
    <list>
        <ref name="positiveLength"/>
        <ref name="positiveLength"/>
        <ref name="positiveLength"/>
    </list>
</define>

15.5.27 Заполнение

[править]

Свойства заполнения fo:padding, fo:padding-top, fo:padding-bottom, fo:padding-left и fo:padding-right используются для определения промежутка вокруг абзаца (см. § 7.29.15 и §7.7.35 — § 7.7.38 [XSL] для детального ознакомления).

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

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-padding-attlist"/>
</define>

<define name="common-padding-attlist">
    <optional>
        <attribute name="fo:padding">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:padding-top">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:padding-bottom">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:padding-left">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:padding-right">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

15.5.28 Тень

[править]

Свойство style:shadow используется для определения эффекта тени для абзаца.

Допустимыми значениями для этого атрибута являются значения для свойства fo:text-shadow (см. раздел 15.4.27 для получения дополнительной информации).

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

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-shadow-attlist"/>
</define>

<define name="common-shadow-attlist">
    <optional>
        <attribute name="style:shadow">
            <ref name="shadowType"/>
        </attribute>
    </optional>
</define>

15.5.29 Вместе со следующим

[править]

Свойство fo:keep-with-next используется для определения возможности связать текущий абзац со следующим на странице или в колонке после добавления разрыва (см. § 7.9.14 [XSL] для детального ознакомления). Поддерживаются только значения auto и always.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-keep-with-next-attlist"/>
</define>

<define name="common-keep-with-next-attlist">
    <optional>
        <attribute name="fo:keep-with-next">
            <choice>
                <value>auto</value>
                <value>always</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.30 Нумерация строк

[править]

Атрибут text:number-lines определяет, контролируется ли подсчет строк.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:number-lines" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.31 Начальное значение нумерации строк

[править]

Свойство text:line-number определяет начальное значение для нумерации строк. Атрибут обрабатывается только в том случае, если в том же самом элементе задан атрибут text:number-lines со значением true.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:line-number">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>

15.5.32 Автоматическое разделение текста

[править]

Свойство style:text-autospace используется для определения, добавлять ли промежуток между текстами восточно-азиатским и западным, а также текстом со сложной системой письменности.

Возможные значения none и ideograph-alpha.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-autospace">
            <choice>
                <value>none</value>
                <value>ideograph-alpha</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.33 Перенос знаков препинания на новую строку

[править]

Свойство style:punctuation-wrap используется для определения, действительно ли знак препинания, если он присутствует, может быть подвешен, то есть может ли разместиться на поле, если строка полностью заполнена. Это обычная настройка в восточно-азиатской типографии.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:punctuation-wrap">
            <choice>
                <value>simple</value>
                <value>hanging</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.34 Разрыв строки

[править]

Свойство style:line-break используется для установки правил разрыва строки для текста. Если установлено значение strict, то разрыв строк между установленными пользователем и настраиваемыми приложением символами запрещается. Если установлено значение normal, то разрывы строки могут встречаться между любыми символами.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:line-break">
            <choice>
                <value>normal</value>
                <value>strict</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.35 Вертикальное выравнивание

[править]

Свойство style:vertical-align определяет вертикальную позицию символа. По умолчанию символы выравнены по их базовой строке, которая используется по умолчанию для большинства европейских языков. Это также выравнивание, которое используется в этой спецификации. Иначе вертикальное выравнивание символов может быть следующим:

  • bottom — по нижнему краю строки;
  • top — по верхнему краю строки;
  • middle — по центру строки;
  • auto — автоматически, которое устанавливает вертикальное выравнивание в зависимости от ориентации строки. Текст, повернутый на 0 или 90 градусов, выравнивается от базовой линии, в то время как текст, повернутый на 270 градусов, выравнивается от центра строки.

Следующая иллюстрация демонстрирует эффект вертикального выравнивания, когда свойство принимает значение baseline, top, bottom, и center соответственно.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:vertical-align" a:defaultValue="auto">
            <choice>
                <value>top</value>
                <value>middle</value>
                <value>bottom</value>
                <value>auto</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.36 Режим записи

[править]

Атрибут style:writing-mode определяет режим записи в абзаце. Этот атрибут подобен атрибуту writing-mode, определенному в § 7.27.7 [XSL], за исключением добавленного значения page. Это значение определяет, что режим записи перенят от страницы, которая включает абзац.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-writing-mode-attlist"/>
</define>

<define name="common-writing-mode-attlist">
    <optional>
        <attribute name="style:writing-mode">
            <choice>
                <value>lr-tb</value>
                <value>rl-tb</value>
                <value>tb-rl</value>
                <value>tb-lr</value>
                <value>lr</value>
                <value>rl</value>
                <value>tb</value>
                <value>page</value>
            </choice>
        </attribute>
    </optional>
</define>

15.5.37 Режим автоматической записи

[править]

Если атрибут style:writing-mode-automatic определен для абзаца и если его значение true, тогда приложению разрешено повторно пересчитывать значение режима записи абзаца всякий раз, когда изменяется его содержимое. Фактически значение режима записи должно быть включено в атрибут style:writing-mode так, чтобы приложения, которые не поддерживают автоматический пересчет значения режима записи или используют различные алгоритмы, всегда имели актуальные значения.

Определяя дополнительно атрибут fo:text-align='start', выравнивание текста одновременно может быть адаптировано к режиму записи.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:writing-mode-automatic">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.38 Привязка к разметке

[править]

Атрибут style:snap-to-layout-grid определяет, должны ли в абзаце учитываться настройки сетки разметки страницы (см. раздел 15.2.21).

<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:snap-to-layout-grid">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.5.39 Номер страницы

[править]

Если стиль абзаца определяет стиль страницы, который должен быть применен, начиная с начала абзаца, атрибут style:page-number определяет номер страницы, который должен использоваться для новой страницы.

<define name="style-paragraph-properties-attlist" combine="interleave">
    <ref name="common-page-number-attlist"/>
</define>

<define name="common-page-number-attlist">
    <optional>
        <attribute name="style:page-number">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

15.5.40 Прозрачность фона

[править]
<define name="style-paragraph-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:background-transparency">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

15.6 Свойства форматирования транскрипции

[править]

Свойства, описанные в этом разделе, могут быть использованы в стилях транскрипций (см. раздел 14.8.4 для детального ознакомления). Они включаются в элемент <style:ruby-properties>.

<define name="style-ruby-properties">
    <element name="style:ruby-properties">
        <ref name="style-ruby-properties-content"/>
    </element>
</define>

<define name="style-ruby-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-ruby-properties-content-strict">
    <ref name="style-ruby-properties-attlist"/>
    <ref name="style-ruby-properties-elements"/>
</define>

<define name="style-ruby-properties-elements">
    <empty/>
</define>

15.6.1 Позиция транскрипции

[править]

Это свойство определяет позицию текста транскрипции относительно базового текста.

<define name="style-ruby-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:ruby-position">
            <choice>
                <value>above</value>
                <value>below</value>
            </choice>
        </attribute>
    </optional>
</define>

15.6.2 Выравнивание транскрипции

[править]

Это свойство определяет выравнивание текста транскрипции относительно базового текста.

<define name="style-ruby-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:ruby-align">
            <choice>
                <value>left</value>
                <value>center</value>
                <value>right</value>
                <value>distribute-letter</value>
                <value>distribute-space</value>
            </choice>
        </attribute>
    </optional>
</define>

15.7 Свойства форматирования разделов

[править]

Свойства, описанные в этом разделе, могут использоваться со стилем раздела (см. раздел 14.8.3 для детального ознакомления). Они включаются в элемент <style:section-properties>.

<define name="style-section-properties">
    <element name="style:section-properties">
        <ref name="style-section-properties-content"/>
    </element>
</define>

<define name="style-section-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-section-properties-content-strict">
    <ref name="style-section-properties-attlist"/>
    <ref name="style-section-properties-elements"/>
</define>

15.7.1 Фон раздела

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяют свойства фона в разделе. Для получения более детальной информации об этом атрибуте и элементе см. разделы 15.5.23 и 15.5.24.

<define name="style-section-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>

<define name="style-section-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.7.2 Поля

[править]

Атрибуты полей fo:margin-left и fo:margin-right определяют размер полей раздела. Для получения более детальной информации об этих атрибутах см. разделы 15.5.17. Процентное значение не поддерживается.

<define name="style-section-properties-attlist" combine="interleave">
    <ref name="common-horizontal-margin-attlist"/>
</define>

15.7.3 Колонки

[править]

Элемент <style:columns> включает элементы <style:column>, которые определяют каждую колонку индивидуально (см. раздел 15.7.4). Если эти элементы отсутствуют, то для всех колонок устанавливается одна и та же ширина.

Элемент <style:columns> может включать элемент <style:column-sep>, который описывает линию разделителя колонок. Для получения подробной информации об этом элементе см. раздел 15.7.5.

<define name="style-section-properties-elements" combine="interleave">
    <ref name="style-columns"/>
</define>

<define name="style-columns">
    <optional>
        <element name="style:columns">
            <ref name="style-columns-attlist"/>
            <optional>
                <ref name="style-column-sep"/>
            </optional>
            <zeroOrMore>
                <ref name="style-column"/>
            </zeroOrMore>
        </element>
    </optional>
</define>

С элементом <style:columns> могут быть связаны следующие атрибуты:

  • число колонок;
  • интервал между колонками.
Число колонок
[править]

Атрибут fo:columns-count определяет число колонок в разделе.

<define name="style-columns-attlist" combine="interleave">
    <attribute name="fo:column-count">
        <ref name="positiveInteger"/>
    </attribute>
</define>

Примечание — Этот атрибут называется так же, как свойство [XSL], но присоединен к другому элементу.

Интервал между колонками
[править]

Если элемент <style:columns> не содержит индивидуальных элементов <style:column>, то интервал между колонками может быть определен атрибутом fo:column-gap. Если индивидуальные элементы колонок определены, то этот атрибут игнорируется.

<define name="style-columns-attlist" combine="interleave">
    <optional>
        <attribute name="fo:column-gap">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

Примечание — Этот атрибут называется так же, как свойство [XSL], но присоединен к другому элементу.

15.7.4 Спецификация колонок

[править]

Элемент <style:column> может быть включен в элемент <style:columns>, определяя детализацию индивидуальной колонки. Этот элемент включен в элемент <styles:columns>. Здесь может быть либо элемент, не являющийся колонкой, либо такое же количество элементов колонок, как определено в атрибуте fo:column-count.

<define name="style-column">
    <element name="style:column">
        <ref name="style-column-attlist"/>
    </element>
</define>

Примечание — В [XSL] невозможно определить колонки индивидуально.

С элементом <style:column> могут быть связаны следующие атрибуты:

  • ширина колонки;
  • левый, правый, верхний, и нижний интервалы колонки.
Ширина колонки
[править]

Атрибут style:rel-width используется для определения ширины колонки. Ширина колонки определяется числовым значением вместо длины. Для определения абсолютной ширины колонки доступное для области колонки место распределяется пропорционально среди всех этих колонок.

Ширина колонки определяется не в процентах от длины, но предпочтительнее в терминах относительных весов, где число следует за символом «*». Общее пространство, доступное для вставки таблицы, распределяется среди включенных колонок соответственно относительным весам. Например, если три колонки связаны с относительными величинами 1, 2 и 3, тогда первая колонка занимает 1/6 выделенной ширины, вторая 1/3 и последняя 1/2 выделенного пространства. Для достижения такой картины все заданные относительные величины должны быть просуммированы (шесть в примере), затем каждая колонка получает место пропорционально ее весу, отнесенному к сумме относительных весов (3/6=1/2 для последней колонки в примере).

<define name="style-column-attlist" combine="interleave">
    <attribute name="style:rel-width">
        <ref name="relativeLength"/>
    </attribute>
</define>
Левый, правый, верхний и нижний интервал колонки
[править]

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

<define name="style-column-attlist" combine="interleave">
    <optional>
        <attribute name="fo:start-indent" a:defaultValue="0cm">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
<define name="style-column-attlist" combine="interleave">
    <optional>
        <attribute name="fo:end-indent" a:defaultValue="0cm">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
<define name="style-column-attlist" combine="interleave">
    <optional>
        <attribute name="fo:space-before" a:defaultValue="0cm">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
<define name="style-column-attlist" combine="interleave">
    <optional>
        <attribute name="fo:space-after" a:defaultValue="0cm">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

15.7.5 Разделитель колонок

[править]

Элемент <style:column-sep> определяет разделительную линию, используемую между колонками. Этот элемент может быть включен в элемент <style:columns>, определяющий тип разделительной линии, используемой между колонками.

<define name="style-column-sep">
    <element name="style:column-sep">
        <ref name="style-column-sep-attlist"/>
    </element>
</define>

Примечание — [XSL] не поддерживает разделители колонок.

С элементом <style:column-sep> могут быть связаны следующие атрибуты:

  • стиль линии;
  • ширина линии;
  • высота линии;
  • вертикальное выравнивание линии;
  • цвет линии.
Стиль линии
[править]

Атрибут style:style используется для определения стиля разделительной линии колонки.

<define name="style-column-sep-attlist" combine="interleave">
    <optional>
        <attribute name="style:style" a:defaultValue="solid">
            <choice>
                <value>none</value>
                <value>solid</value>
                <value>dotted</value>
                <value>dashed</value>
                <value>dot-dashed</value>
            </choice>
        </attribute>
    </optional>
</define>
Ширина линии
[править]

Атрибут style:width используется для определения ширины разделительной линии колонки.

<define name="style-column-sep-attlist" combine="interleave">
    <attribute name="style:width">
        <ref name="length"/>
    </attribute>
</define>
Высота линии
[править]

Атрибут style:height используется для определения высоты разделительной линии колонки. Значение этого атрибута измеряется в процентах относительно высоты области колонки.

<define name="style-column-sep-attlist" combine="interleave">
    <optional>
        <attribute name="style:height" a:defaultValue="100%">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>
Вертикальное выравнивание линии
[править]

Атрибут style:vertical-align используется для определения вертикального выравнивания линии, которое определяется от 100 % высоты области колонки. Значение этого атрибута может быть top, middle или bottom.

<define name="style-column-sep-attlist" combine="interleave">
    <optional>
        <attribute name="style:vertical-align" a:defaultValue="top">
            <choice>
                <value>top</value>
                <value>middle</value>
                <value>bottom</value>
            </choice>
        </attribute>
    </optional>
</define>
Цвет линии
[править]

Атрибут style:color используется для определения цвета разделительной линии колонки.

<define name="style-column-sep-attlist" combine="interleave">
    <optional>
        <attribute name="style:color" a:defaultValue="#000000">
            <ref name="color"/>
        </attribute>
    </optional>
</define>

15.7.6 Защита

[править]

Раздел, помеченный атрибутом style:protect, не может быть изменен. Пользовательский интерфейс не должен допускать ручного внесения пользователем любых изменений. Атрибут style:protect должен по умолчанию устанавливаться для связанных разделов или индексов. Удаление меток защиты этих разделов доступны пользователю, но при изменении связей или индексов они изменяются.

<define name="style-section-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:protect" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.7.7 Несбалансированные колонки текста

[править]

Атрибут text:dont-balance-text-columns определяет, должно ли содержимое текстовой колонки равномерно распределяться среди всех текстовых колонок.

<define name="style-section-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:dont-balance-text-columns">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.7.8 Режим записи

[править]

Атрибут style:writing-mode определяет режим записи, который должен использоваться для раздела (см. раздел 15.5.36 для детального ознакомления).

<define name="style-section-properties-attlist" combine="interleave">
    <ref name="common-writing-mode-attlist"/>
</define>

15.7.9 Настройка примечаний

[править]

Стиль раздела может включать настройку примечаний (см. раздел 14.9.2). В этом случае есть выбор, примечания соответствующего типа отображаются в конце колонок раздела или в конце самого раздела вместо конца колонки страницы или в конце документа.

<define name="style-section-properties-elements" combine="interleave">
    <zeroOrMore>
        <ref name="text-notes-configuration"/>
    </zeroOrMore>
</define>

15.8 Свойства форматирования таблиц

[править]

Свойства, описанные в этом разделе, могут быть включены в стили таблицы (см. раздел 14.12.1) Они включаются в элемент <style:table-properties>.

<define name="style-table-properties">
    <element name="style:table-properties">
        <ref name="style-table-properties-content"/>
    </element>
</define>

<define name="style-table-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-table-properties-content-strict">
    <ref name="style-table-properties-attlist"/>
    <ref name="style-table-properties-elements"/>
</define>

15.8.1 Ширина таблицы

[править]

Каждая таблица должна иметь фиксированную ширину. Это определяется с помощью атрибута style:width.

Ширина таблицы также может быть определена относительно ширины области, на которой она размещается. В этом случае ширина определяется в процентах с использованием атрибута style:rel-width. Пользовательские агенты, которые поддерживают относительную ширину таблицы, могут задавать ее таким образом, но это не обязательно.

Причины, по которым каждая таблица должна иметь заданную и относительную ширину, перечислены ниже.

  • Определение ширины таблицы в процентах обычно широко применяется для web-браузеров и других приложений, где процентное значение рассчитывается относительно ширины окна. Но могут возникать проблемы, если процентное значение рассчитывается относительно фиксированной ширины бумаги.
  • Относительная ширина также может быть причиной проблем для таких приложений, как приложения для работы с электронными таблицами, где нет требований по подгонке таблицы к странице.

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

<define name="style-table-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:width">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:rel-width">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

15.8.2 Выравнивание таблицы

[править]

Свойство выравнивание таблицы table:align определяет горизонтальное выравнивание таблицы.

Значение для свойства выравнивание таблицы может быть:

  • left — выравнивание таблицы по левому краю;
  • center — выравнивание таблицы по центру;
  • right — выравнивание таблицы по правому краю;
  • margins — таблица заполняет все пространство между левым и правым полем.

Пользовательские агенты, не поддерживающие значение margins, могут рассматривать это значение как left.

<define name="style-table-properties-attlist" combine="interleave">
    <optional>
        <attribute name="table:align">
            <choice>
                <value>left</value>
                <value>center</value>
                <value>right</value>
                <value>margins</value>
            </choice>
        </attribute>
    </optional>
</define>

15.8.3 Левое и правое поля таблицы

[править]

Свойства fo:margin-left и fo:margin-right определяют дистанцию до таблицы от левой и правой границ. Для детального ознакомления со свойствами левой и правой границ см. раздел 15.5.17. Приложения могут обрабатывать поля таблицы, но это не обязательно.

Таблицы, выравненные по левому полю или центру, игнорируют правые поля, и таблицы, выравненные по правому полю или центру, игнорируют левые поля.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-horizontal-margin-attlist"/>
</define>

15.8.4 Верхнее и нижнее поля таблицы

[править]

Свойства fo:margin-top и fo:margin-bottom определяют расстояние до таблицы сверху и снизу. Для получения более полной информации о свойствах верхних и нижних полей см. раздел 15.5.20.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-vertical-margin-attlist"/>
</define>

15.8.5 Поля таблицы

[править]

Свойство fo:margin определяет расстояние слева, справа, сверху и снизу в таблице. Для получения более полной информации об этом свойстве см. раздел 15.5.21.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-margin-attlist"/>
</define>

15.8.6 Номер страницы

[править]

Если в стиле таблицы задан стиль страницы, который должен быть применен с начала таблицы, то атрибут style:page-number определяет номер страницы, который должен быть использован для первой страницы таблицы (см. также раздел 15.5.39).

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-page-number-attlist"/>
</define>

15.8.7 Разрыв до и разрыв после

[править]

Свойства fo:break-before и fo:break-after вставляют в страницу или колонку разрыв до или после таблицы. Для получения более детальной информации об этом свойстве см. раздел 15.5.22.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-break-attlist"/>
</define>

15.8.8 Фон таблицы и фоновое изображение

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяет свойства фона таблицы. Для получения детальной информации об этом атрибуте и свойстве см. разделы 15.5.23 и 15.5.24.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>

<define name="style-table-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.8.9 Тень таблицы

[править]

Стиль style:shadow определяет, какой визуальный эффект тени применяется к таблице. Для получения полной информации по этому свойству см. раздел 15.5.28.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-shadow-attlist"/>
</define>

15.8.10 Вместе со следующим

[править]

Свойство fo:keep-with-next определяет, что таблица, размещенная в абзаце, остается вместе с ним. Для получения полной информации по этому свойству см. раздел 15.5.29.

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-keep-with-next-attlist"/>
</define>

15.8.11 Возможность разрыва между строками

[править]

Свойство style:may-break-between-rows определяет, может ли применяться разрыв страницы внутри таблицы.

<define name="style-table-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:may-break-between-rows">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.8.12 Свойство модели обрамления

[править]

Свойство table:border-model определяет, какая модель обрамления используется, когда создается таблица с обрамлением. Существует два типа модели обрамления.

  • Сокращенная модель обрамления

Когда две смежные ячейки имеют различные границы, более широкое обрамление отображается как обрамление между ячейками. Каждая ячейка получает половину ширины обрамления.

  • Модель разделенного обрамления

Обрамление отображается внутри ячейки, которая определяет обрамление.

Обе модели обрамления, сокращенная и разделенная, подобны моделям обрамления [XSL] и [CSS2]. Они различаются отношением ширины обрамления к ширине строки и столбца.

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

В XSL и CSS2 ширина столбца или высота строки определяет область содержимого ячейки. Это означает, что сумма ширины всех столбцов меньше ширины всей таблицы.

<define name="style-table-properties-attlist" combine="interleave">
    <optional>
        <attribute name="table:border-model">
            <choice>
                <value>collapsing</value>
                <value>separating</value>
            </choice>
        </attribute>
    </optional>
</define>

15.8.13 Режим записи

[править]

Атрибут style:writing-mode определяет режим записи, который должен быть использован для таблицы (см. раздел 15.5.36 для детального ознакомления).

<define name="style-table-properties-attlist" combine="interleave">
    <ref name="common-writing-mode-attlist"/>
</define>

15.8.14 Отображение

[править]

Атрибут table:display определяет, отображается ли таблица.

<define name="style-table-properties-attlist" combine="interleave">
    <optional>
        <attribute name="table:display">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.9 Свойства форматирования столбцов

[править]

Свойства, описанные в этом разделе, могут быть включены в стили столбцов таблицы (см. раздел 14.12.2) Также они могут быть включены в элемент <style:table-column-properties>.

<define name="style-table-column-properties">
    <element name="style:table-column-properties">
        <ref name="style-table-column-properties-content"/>
    </element>
</define>

<define name="style-table-column-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-table-column-properties-content-strict">
    <ref name="style-table-column-properties-attlist"/>
    <ref name="style-table-column-properties-elements"/>
</define>

<define name="style-table-column-properties-elements">
    <empty/>
</define>

15.9.1 Ширина столбца

[править]

Каждый столбец таблицы должен иметь фиксированную ширину. Эта ширина определяется атрибутом style:column-width.

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

Относительная ширина определяется свойством style:rel-column-width, которое принимает числовое значение, дополненное символом «*». Если rc — относительное значение ширины столбца, rs — сумма относительных значений ширины всех столбцов, и ws — абсолютная ширина, доступная для всех этих столбцов, то абсолютное значение ширины столбца wc рассчитывается как wc=rcws/rs.

<define name="style-table-column-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:column-width">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:rel-column-width">
            <ref name="relativeLength"/>
        </attribute>
    </optional>
</define>

15.9.2 Оптимальная ширина столбца таблицы

[править]

Атрибут style:use-optimal-column-width определяет, должна ли ширина столбца быть автоматически пересчитана, если изменилось содержимое столбца.

<define name="style-table-column-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:use-optimal-column-width">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.9.3 Разрыв до и разрыв после

[править]

Свойства fo:break-before и fo:break-after добавляют в страницу или в колонку разрыв до или после столбца таблицы. Для получения более полной информации по этим свойствам см. раздел 15.5.22.

<define name="style-table-column-properties-attlist" combine="interleave">
    <ref name="common-break-attlist"/>
</define>

15.10 Свойства форматирования строк таблиц

[править]

Свойства, рассмотренные в этом разделе, могут быть включены в стили столбцов таблицы (см. раздел 14.12.3). Они включаются в элемент <style:table-column-properties>.

<define name="style-table-row-properties">
    <element name="style:table-row-properties">
        <ref name="style-table-row-properties-content"/>
    </element>
</define>

<define name="style-table-row-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-table-row-properties-content-strict">
    <ref name="style-table-row-properties-attlist"/>
    <ref name="style-table-row-properties-elements"/>
</define>

15.10.1 Высота строки

[править]

Свойства style:row-height и style:min-row-height определяют высоту строки таблицы. По умолчанию, высота строки зависит от высоты наивысшего элемента в строке.

Свойство style:row-height определяет фиксированную высоту строки, в то время как свойство style:min-row-height определяет фиксированную минимальную высоту.

<define name="style-table-row-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:row-height">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:min-row-height">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

15.10.2 Оптимальная высота строки таблицы

[править]

Атрибут style:use-optimal-row-height определяет, должна ли высота строки быть пересчитана автоматически, если изменилось содержимое строки.

<define name="style-table-row-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:use-optimal-row-height">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.10.3 Фон строки

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяют свойства фона таблицы. Для получения более полной информации об этом атрибуте и элементе см. разделы 15.5.23 и 15.5.24.

<define name="style-table-row-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>
<define name="style-table-row-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.10.4 Разрыв до и разрыв после

[править]

Свойства fo:break-before и fo:break-after вставляют в страницу или колонку разрыв до или после столбца таблицы. Для получения более полной информации по этим свойствам см. раздел 15.5.22.

<define name="style-table-row-properties-attlist" combine="interleave">
    <ref name="common-break-attlist"/>
</define>

15.10.5 Не разрывать

[править]

Свойство fo:keep-together используется для определения, должно ли содержимое ячейки таблицы быть неразрывным на некоторой странице или в колонке (если установлено значение always) или разрешаются разрывы ячейки (если установлено значение auto) (см. § 7.19.3 [XSL] для детального ознакомления).

<define name="style-table-row-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:keep-together">
            <choice>
                <value>auto</value>
                <value>always</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11 Свойства форматирования ячеек таблиц

[править]

Свойства, описанные в данном разделе, могут содержаться в стилях ячеек таблицы (см. раздел 14.12.4). Они содержатся в элементе <style:table-column-properties>.

<define name="style-table-cell-properties">
    <element name="style:table-cell-properties">
        <ref name="style-table-cell-properties-content"/>
    </element>
</define>

<define name="style-table-cell-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-table-cell-properties-content-strict">
    <ref name="style-table-cell-properties-attlist"/>
    <ref name="style-table-cell-properties-elements"/>
</define>

15.11.1 Выравнивание по вертикали

[править]

Свойство выравнивания по вертикали style:vertical-align используется для определения выравнивания по вертикали текста в ячейке таблицы.

Варианты выравнивания по вертикали следующие:

  • top — выравнивание текста по верхнему краю ячейки;
  • middle — выравнивание текста по середине ячейки;
  • bottom — выравнивание текста по нижнему краю ячейки;
  • automatic — выравнивание текста определяется приложением.
<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:vertical-align">
            <choice>
                <value>top</value>
                <value>middle</value>
                <value>bottom</value>
                <value>automatic</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.2 Источник выравнивания текста

[править]

Свойство style:text-align-source определяет источник свойства выравнивания текста. Если значение данного атрибута равно fix, используется значение свойства fo:text-align. Если значение равно value-type, выравнивание текста зависит от типа значения ячейки.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:text-align-source">
            <choice>
                <value>fix</value>
                <value>value-type</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.3 Направление

[править]

Свойство style:direction определяет направление символов в ячейке. Наиболее распространенным является направление слева направо (ltr). Другое направление — сверху вниз (ttb), когда символы в ячейке представляются в виде стопки, но не поворачиваются.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-style-direction-attlist"/>
</define>

<define name="common-style-direction-attlist">
    <optional>
        <attribute name="style:direction">
            <choice>
                <value>ltr</value>
                <value>ttb</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.4 Ориентация глифа по вертикали

[править]

Свойство style:glyph-orientation-vertical определяет ориентацию глифа по вертикали. Свойство определяет угол или автоматический режим. Для запрещения этой настройки может использоваться только значение угла 0.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:glyph-orientation-vertical">
            <choice>
                <value>auto</value>
                <value>0</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.5 Тень ячейки

[править]

Свойство style:shadow определяет, что к ячейке применяется визуальный эффект тени. Полное описание этого свойства приведено в разделе 15.5.28.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-shadow-attlist"/>
</define>

15.11.6 Фон ячейки

[править]

Атрибут фона fo:background-color и элемент фона <style:background-image> определяют свойства фона ячейки таблицы. Детальная информация об этих атрибуте и элементе приведена в разделах 15.5.23 и 15.5.24.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-background-color-attlist"/>
</define>
<define name="style-table-cell-properties-elements" combine="interleave">
    <ref name="style-background-image"/>
</define>

15.11.7 Обрамление ячейки

[править]

Атрибуты обрамления fo:border, fo:border-top, fo:border-bottom, fo:border-left и fo:border-right определяют свойства обрамления ячейки таблицы. Детальная информация об этих атрибутах приведена в разделе 15.5.25.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-border-attlist"/>
</define>

15.11.8 Диагональные линии

[править]

Ячейки электронных таблиц также могут иметь диагональные линии, которые рассматриваются приложениями как обрамления.

style:diagonal-tl-br определяет стиль «border», используемый для диагонали «верхний левый угол — правый нижний угол» (см. раздел 15.5.25 для получения детальной информации). В случае двойной линии style:diagonal-bl-tr-widths позволяет определить ширину внутренних и внешних линий и расстояние между ними (см. раздел 15.5.26 для получения детальной информации).

style:diagonal-bl-tr и style:diagonal-tl-br-widths определяют те же свойства для диагонали «нижний левый угол — верхний правый угол».

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:diagonal-tl-br">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:diagonal-tl-br-widths">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:diagonal-bl-tr">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="style:diagonal-bl-tr-widths">
            <ref name="borderWidths"/>
        </attribute>
    </optional>
</define>

15.11.9 Толщина линии обрамления

[править]

Атрибуты ширины линии обрамления style:border-line-width, style:border-line-width-top, style:border-line-width-bottom, style:border-line-width-left и style:border-line-width-right определяют свойства линий обрамления страницы. Детальная информация об этих атрибутах приведена в разделе 15.5.26.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-border-line-width-attlist"/>
</define>

15.11.10 Отступы от содержимого

[править]

Атрибуты отступов от содержимого fo:padding, fo:padding-top, fo:padding-bottom, fo:padding-left и fo:padding-right определяют свойства отступов от содержимого ячейки таблицы. Детальная информация об этих атрибутах приведена в разделе 15.5.27.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-padding-attlist"/>
</define>

15.11.11 Перенос по словам

[править]

Свойство fo:wrap-option определяет, переносится ли текст в ячейке таблицы по словам. Детальная информация приведена в § 7.5.13 [XSL]. Если перенос по словам запрещен, приложение определяет, будет ли текст видимым или скрытым. Если текст приложением скрывается, то должен обеспечиваться механизм прокрутки для доступа к тексту. Это подобно установке свойства fo:overflow в значение auto. См. также § 7.20.2 [XSL].

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:wrap-option">
            <choice>
                <value>no-wrap</value>
                <value>wrap</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.12 Угол поворота

[править]

Свойство style:rotation-angle определяет угол поворота содержимого ячейки в градусах.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <ref name="common-rotation-angle-attlist"/>
</define>

<define name="common-rotation-angle-attlist">
    <optional>
        <attribute name="style:rotation-angle">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>

15.11.13 Выравнивание при повороте

[править]

Свойство style:rotation-align определяет, как край текста будет выравнен в ячейке после поворота. Имеется четыре варианта выравнивания: none, bottom, top или center.

Выравнивание Текст... Обрамление и фон...
Нет Повернут Неизменны
Нижний край ячейки Повернут и может частично перекрываться с другими ячейками, если текст длиннее ячейки Располагаются параллельно тексту, посредством чего верхний и нижний края изображаются в исходной позиции ячейки
Верхний край ячейки
Центр ячейки
<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:rotation-align">
            <choice>
                <value>none</value>
                <value>bottom</value>
                <value>top</value>
                <value>center</value>
            </choice>
        </attribute>
    </optional>
</define>

15.11.14 Защита ячейки

[править]

Свойство style:cell-protect определяет, каким образом защищена ячейка.

Атрибут рассматривается только в том случае, если текущая таблица защищена (см. раздел 8.1.1). Атрибут может принимать значения none, hidden-and-protected или разделенный пробелами список, содержащий значения protected или formula-hidden.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:cell-protect">
            <choice>
                <value>none</value>
                <value>hidden-and-protected</value>
                <list>
                    <oneOrMore>
                        <choice>
                            <value>protected</value>
                            <value>formula-hidden</value>
                        </choice>
                    </oneOrMore>
                </list>
            </choice>
        </attribute>
    </optional>
</define>

15.11.15 Печатать содержимое

[править]

Свойство style:print-content определяет, выводится ли на печать содержимое ячейки.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:print-content">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.11.16 Десятичные разряды

[править]

Атрибут style:decimal-places определяет максимальное количество отображаемых десятичных разрядов, если числа отформатированы стилем данных, не имеющим собственных настроек количества десятичных разрядов см. также раздел 14.7.9).

Свойство рассматривается, только если оно содержится в стиле по умолчанию (см. раздел 14.2).

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:decimal-places">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>

15.11.17 Повторять содержимое

[править]

Свойство style:repeat-content определяет, отображается ли содержимое ячейки столько раз, сколько остается в ячейке незанятого места в направлении вывода. Отображаются только полные вхождения повторяемого текста. Свойство не изменяет содержимое ячейки, содержащее разрыв строки. Это свойство используется, например, для заполнения ячейки таблицы символами «–» или «x», чтобы не могли быть введены другие данные.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:repeat-content">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.11.18 Подгонять по размеру

[править]

Свойство style:shrink-to-fit определяет, подгоняется ли, если необходимо, содержимое ячейки по ее размеру. Подгонка означает, что уменьшается размер шрифта так, что весь текст помещается в ячейке. Данное свойство не приводит к изменениям в ячейках, содержимое которых уже помещается в ячейке.

<define name="style-table-cell-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:shrink-to-fit">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

15.12 Свойства стилей уровней списков

[править]

Свойства, описанные в данном разделе, могут содержаться в различных элементах стилей уровней списков (см. раздел 14.10). Они содержатся в элементе <style:list-level-properties>.

<define name="style-list-level-properties">
    <element name="style:list-level-properties">
        <ref name="style-list-level-properties-content"/>
    </element>
</define>

<define name="style-list-level-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-list-level-properties-content-strict">
    <ref name="style-list-level-properties-attlist"/>
    <ref name="style-list-level-properties-elements"/>
</define>

<define name="style-list-level-properties-elements">
    <empty/>
</define>

Выравнивание маркера

[править]

Атрибут fo:text-align определяет выравнивание маркера (номера) по горизонтали в поле, определенном атрибутом text:min-label-width (см. также раздел 15.5.5).

<define name="style-list-level-properties-attlist" combine="interleave">
    <ref name="common-text-align"/>
</define>

Начальный отступ

[править]

Атрибут text:space-before определяет пространство, включаемое до номера для всех абзацев данного уровня. Если абзац имеет отступ слева больше 0, фактическая позиция блока маркера списка — ширина левого поля, увеличенная на значение начального отступа.

Этот атрибут может быть связан с элементом набора пунктов, содержащимся в элементе <text:list-level-style-*>.

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

<define name="style-list-level-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:space-before">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

Минимальная ширина маркера

[править]

Атрибут text:min-label-width определяет минимальную ширину маркера.

Этот атрибут может быть связан с элементом набора пунктов, содержащимся в элементе <text:list-level-style-*>.

Маркер может быть выравнен по горизонтали с заданной шириной с использованием свойства fo:text-align. См. более детальную информацию о приведенном выше атрибуте выравнивание маркера.

<define name="style-list-level-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:min-label-width">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

Минимальное расстояние от маркера

[править]

Атрибут text:min-label-distance определяет минимальное расстояние между номером и текстом пункта списка.

Этот атрибут может быть связан с элементом набора пунктов, содержащимся в элементах <text:list-level-style-*>.

<define name="style-list-level-properties-attlist" combine="interleave">
    <optional>
        <attribute name="text:min-label-distance">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>

Название шрифта

[править]

Атрибут style:font-name определяет название шрифта, используемого для отображения символа маркера списка (см. раздел 15.4.13).

<define name="style-list-level-properties-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

Размер изображения

[править]

Размер изображения определяется следующими атрибутами:

<define name="style-list-level-properties-attlist" combine="interleave">
    <optional>
        <attribute name="fo:width">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:height">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
</define>

Выравнивание по вертикали

[править]

Выравнивание изображения по вертикали определяется свойствами style:vertical-pos и style:vertical-rel. Детальная информация приведена в разделах 15.27.11 и 15.27.12.

<define name="style-list-level-properties-attlist" combine="interleave">
    <ref name="common-vertical-rel-attlist"/>
    <ref name="common-vertical-pos-attlist"/>
</define>

15.13 Свойства контурной линии

[править]

Для определения характеристик линий графических объектов используются следующие свойства контурной линии, доступные для графических объектов, содержащихся во всех видах приложений:

  • стиль;
  • штрих;
  • толщина;
  • цвет;
  • начальный маркер;
  • конечный маркер;
  • ширина начального маркера;
  • ширина конечного маркера;
  • центрировать начальный маркер;
  • центрировать конечный маркер;
  • непрозрачность;
  • соединение.

Свойства, описанные в данном разделе, могут содержатся в элементах стилей <style:style> семейства graphic или presentation. Они содержатся в элементе <style:graphic-properties>.

15.13.1 Стиль контурной линии

[править]

Атрибут draw:stroke определяет стиль контурной линии текущего объекта. Значение none означает, что контурная линия не изображается, а значение solid означает, что изображается сплошная контурная линия. Если значение равно dash, контурная линия изображается в зависимости от значения свойства draw:stroke-dash.

<define name="style-graphic-properties-attlist" combine="interleave">
    <optional>
        <attribute name="draw:stroke">
            <choice>
                <value>none</value>
                <value>dash</value>
                <value>solid</value>
            </choice>
        </attribute>
    </optional>
</define>

15.13.2 Штрих

[править]

Атрибут draw:stroke-dash определяет стиль штриха, используемый для контурной линии. Для получения информации о стилях штрихов см. раздел 14.14.7.

<define name="style-graphic-properties-attlist" combine="interleave">
    <optional>
        <attribute name="draw:stroke-dash">
            <ref name="styleNameRef"/>