Назад

Оглавление

В конец страницы

Вперёд


Краткое Содержание
7 Свойства Форматирования
    7.1 Описание Групп Свойств
    7.2 Области XSL и Модель Бокса CSS
    7.3 Прямоугольник-ссылка при Расчёте Процентных Значений
    7.4 Общие Свойства Доступности
    7.5 Общие Свойства Абсолютного Позиционирования
    7.6 Общие Звуковые Свойства
    7.7 Общие Свойства Рамки, Заполнения и Фона
    7.8 Общие Свойства Шрифта
    7.9 Общие Свойства Переноса
    7.10 Общие Свойства Полей Блока
    7.11 Общие Свойства Инлайн-Полей
    7.12 Общие Свойства Относительного Позиционирования
    7.13 Свойства Выравнивания Области
    7.14 Свойства Размеров Области
    7.15 Свойства Блока и Строки
    7.16 Свойства Символа
    7.17 Свойства Цвета
    7.18 Свойства Поплавков
    7.19 Свойства Keeps и Breaks
    7.20 Свойства Структуры
    7.21 Свойства Заполнителя и Линий
    7.22 Свойства Объектов Форматирования Динамических Эффектов
    7.23 Свойства Маркёров
    7.24 Свойства Конвертации Чисел в Строки
    7.25 Свойства Структуры и Разбивки на Страницы
    7.26 Свойства Таблиц
    7.27 Свойства Режима Письма
    7.28 Различные Свойства
    7.29 Сокращённые Свойства


7 Свойства Форматирования

7.1 Описание Групп Свойств

В следующих разделах описываются свойства объектов форматирования (ОФ)/форматирующих объектов XSL.

Некоторые свойства скопированы из спецификации CSS2. Кроме того изменены все ошибки CSS2. См. [CSS2].


7.2 Области XSL и Модель Бокса CSS

В этом разделе описана интерпретация описаний свойств, привлекающих определения того же свойства из CSS2. В CSS2 "боксы/boxes" генерируются "элементами" таким же образом, как в XSL области генерируются объектами форматирования. Любые ссылки на определение "бокса" в CSS2 принимаются как ссылки на "области" в модели областей XSL, и везде, где "элемент" появляется в определении CSS2, исключая обобщение "Применяется к /Applies to", он принимается как ссылка на "объект форматирования".

Положение и размер бокса нормально принимается как ссылка на положение и размер прямоугольника содержимого области. Дополнительные соотношения между Моделью Бокса CSS2 и Моделью Области XSL содержатся в следующей таблице.

Бокс Область
верхний край содержимого верхний край прямоугольника содержимого
край заполнения прямоугольник заполнения
область содержимого внутренняя область прямоугольника содержимого
область заполнения регион между прямоугольником содержимого и прямоугольником заполнения
область рамки регион между прямоугольником заполнения и прямоугольником рамки
фон фон
содержащий блок ближайшая блок-область - предок, не строчная область (см. ниже доп. информацию об использовании "содержащего блока " как ссылки при расчёте процентных значений)
заголовок/caption область, генерируемая объектом fo:table-caption
инлайн-бокс инлайн-область
строчный бокс строчная область
бокс блока блок-область, не являющаяся строчной областью
бокс страницы область страницы

Поля бокса отображаются в уточнения областей в соответствии с описанием расчёта уточнений области на основе значений свойств в разделе [5 Очистка/Разрешение Свойств].


7.3 Прямоугольник-ссылка при Расчёте Процентных Значений

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

  1. Для определённых в CSS2 свойств, ссылающихся на "содержащий блок", это прямоугольник содержимого ближайшей блок-области - предка , которая не является используемой строчной областью.

  2. Для определённых в XSL свойств, определение свойства специфицирует, прямоугольник содержимого какой области используется.

  3. Исключения из вышеприведённых правил определения используемой области:

    1. Если используется в fo:root, fo:page-sequence и fo:title и любом потомке fo:title, где отсутствует блок-область - предок, используемый прямоугольник имеет размеры, соответствующие значению "auto" свойств "page-height" и "page-width". Размеры block-progression-dimension и inline-progression-dimension определяются тогда на базе вычисленного значения ориентации reference-orientation и режима письма ОФ, для которого вычисляется процентное значение, или по fo:title - в случае с потомком объекта fo:title.

    2. Если используется в fo:static-content и fo:flow, используемый прямоугольник содержимого базируется на регионе первой страницы, в которую направляется содержимое. Для region-body это область normal-flow-reference-area, а для других регионов - это область region-reference-area.

    3. Если используется в fo:footnote-body и fo:float, генерирующих область с классом области "xsl-before-float", используемый прямоугольник является прямоугольником содержимого области footnote-reference-area и области before-float-reference-area соответственно.

    4. Если используется в fo:float, генерирующем область с классом области "xsl-side-float", используемый прямоугольник является ближайшей блок-областью - предком, которая не является строчной областью области с типом области "xsl-anchor", сгенерированной объектом fo:float.

    5. Если абсолютная позиция/absolute-position равна "fixed", содержащий блок определяется ближайшей областью порта просмотра - предком. Если такой области порта просмотра - предка нет, содержащий блок определяется Пользовательским Агентом.

    6. Если absolute-position равна "absolute", содержащий блок устанавливается ближайшей областью-предком A, которая имеет класс области, отличный от xsl-normal, или relative-position - "relative".

      В случае, когда A это блок-область, используется прямоугольник заполнения области A.

      В случае, когда A это инлайн-область, генерируемая некоторым ОФ F, используемый прямоугольник является виртуальным прямоугольником, чьи края before-edge и start-edge являются before-edge и start-edge первой области, генерируемой объектом F, и чьи after-edge и end-edge являются after-edge и end-edge последней области, генерируемой объектом F. Этот "прямоугольник" может иметь отрицательное расширение.

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


7.4 Общие Свойства Доступности

7.4.1 "source-document"

Определение XSL:

Значение:<uri-specification> [<uri-specification>]* | none | inherit
Начальное:none
Применяется: см. описание
Наследуется:нет
Процентное: N/A
Носитель:все

Используется всеми ОФ, которые могут содержаться в объектах fo:flow или fo:static-content (всеми ОФ, которые могут быть непосредственно созданы из XML элемента-источника).

Значения имеют следующий смысл:

none

Документ-источник является временным, неизвестным или неспецифицированным.
 

<uri-specification>

URI-спецификация, дающая ссылку на (суб)ресурс, используемый как ввод таблицы стилей.

Это свойство специфицирует указатель обратно на оригинальный документ(ы) XML, используемый для создания этого дерева объектов форматирования в соответствии с Dublin Core-определением "Source/Источника" ("A Reference to a resource from which the present resource is derived/Ссылка на ресурс, из которого получен текущий ресурс." См.: http://purl.org/DC/documents/rec-dces-19990702.htm.) Значение не имеет врождённой стандартизованной семантики для процессоров XSL и не проверяется ими.

Указания W3C по Доступности/Accessibility, http://www.w3.org/TR/WCAG20/, http://www.w3.org/TR/ATAG10/, и http://www.w3.org/TR/UAAG10/, строго рекомендуют использовать это свойство только в объекте fo:root или в первом ОФ, генерируемом из данного документа-источника.

URI-ссылка используется для альтернативного представления (звукового и др.) там, где структура дерева ОФ не подходит для имеющегося представления.


7.4.2 "role"

Определение XSL:

Значение:<string> | <uri-specification> | none | inherit
Начальное:none
Применяется: см. описание
Наследуется:нет
Процентное:N/A
Носитель:все

Используется всеми ОФ, которые могут содержаться в объектах fo:flow или fo:static-content (всеми ОФ, которые могут быть непосредственно созданы из XML элемента-источника).

Значения имеют следующий смысл:

none

Означает, что никакие семантические тэги не цитируются данным ОФ.
 

<string>

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

<uri-specification>

URI-спецификация, обозначающая ресурс RDF [RDF]; то есть объект XML, синтаксически верный с точки зрения грамматики RDF.

Это свойство предоставляет подсказку для альтернативного представления (звуковых  устройств и т.п.) о роли элемента XML или элементов, использованных при конструировании данного ОФ, если он (элемент) может быть идентифицирован в процессе конструирования дерева XSLT. Эта информация может быть использована для подготовки альтернативных отображений, если нормальное представление не подходит или неудовлетворительно; например, ролевая/role информация может использоваться для более качественного звукового представления визуально отформатированного материала.

Чтобы помочь организации альтернативного представления, значение <string> должно быть квалифицированным именем (QName [XML Names]) элемента, из которого конструируется данный ОФ. Если QName не предоставляет достаточного контекста, для идентификации RDF-ресурса может использоваться <uri-specification>, описывающая роль более детально. RDF-ресурсы могут быть внедрены в результирующее дерево и иметь на себя ссылки - относительные URI или идентификатор фрагмента, RDF-ресурс, внешний относительно результирующего дерева. Данная спецификация не определяет никаких стандартных словарей QName или RDF; они часто зависят от области приложения. Другие группы, например, Dublin Core, определяют такие словари.

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


7.5 Общие Свойства Абсолютного Позиционирования

7.5.1 "absolute-position"

Свойство, происходящее из свойства CSS2.

Значение:auto | absolute | fixed | inherit
Начальное:auto
Применяется:к fo:block-container
Наследуется:нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Нет никаких ограничений absolute-positioning/абсолютного позиционирования. Позиционирование осуществляется в соответствии со свойством relative-position/относительного позиционирования.

absolute

Позиция области (и, возможно, размер) специфицирована свойствами "left", "right", "top" и "bottom". Эти свойства специфицируют смещение относительно содержащей области данной области. Абсолютно позиционированные области изымаются из нормального потока. Это значит, что они не оказывают никакого влияния на структуру последующих родственников. Также, хотя абсолютно позиционированные области имеют поля, они не сжимаются какими-либо другими полями.

fixed

Позиция области рассчитывается в соответствии с моделью "absolute", но, кроме того, область фиксируется с учётом некоторой ссылки. В случае с непрерывным носителем, область фиксируется относительно порта просмотра (и не сдвигается при прокрутке). В случае со страничным носителем, область фиксируется относительно страницы, даже если эта страница видна через порт просмотра (как в случае с предварительным просмотром перед печатью, например). Авторы могут захотеть специфицировать "fixed" способом, специфичным для носителя. К примеру, автор может пожелать, чтобы область оставалась в верхней части порта просмотра на экране, но не вверху каждой печатаемой страницы.

Следующие дополнительные ограничения действуют для страничного представления:


7.5.2 "top"

Определение CSS2: как исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Значение:<length> | <percentage> | auto | inherit
Начальное:auto
Применяется: к позиционированным элементам
Наследуется:нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-top.

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

Модификации XSL определения CSS:

См. определение свойства left ([7.5.5 "left"]).


7.5.3 "right"

Определение CSS2: как исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Значение:<length> | <percentage> | auto | inherit
Начальное:auto
Применяется: к позиционированным элементам
Наследуется:нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-right.

Это свойство специфицирует, насколько далеко край правого поля бокса смещён влево от правого края содержащего блока бокса.

Модификации XSL определения CSS:

См. определение свойства left ([7.5.5 "left"]).


7.5.4 "bottom"

Определение CSS2: как исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Значение:<length> | <percentage> | auto | inherit
Начальное:auto
Применяется: к позиционированным элементам
Наследуется:нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-bottom.

Это свойство специфицирует, насколько далеко край нижнего поля бокса смещён вверх от нижнего края содержащего блока бокса.

Модификации XSL определения CSS:

См. определение свойства left ([7.5.5 "left"]).


7.5.5 "left"

Определение CSS2: как исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Значение:<length> | <percentage> | auto | inherit
Начальное:auto
Применяется: к позиционированным элементам
Наследуется:нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-left.

Это свойство специфицирует, насколько далеко край левого поля бокса смещён вправо от левого края содержащего блока бокса.

Значение четырёх свойств (смещения позиции) имеют следующий смысл:

auto

Действие этого значения зависит от того, какое из связанных свойств также имеет значение "auto". См. детали в разделах о ширине и высоте абсолютно позиционированных незамещаемых элементов.

<length>

Смещение задано как фиксированное расстояние от края отсчёта.

<percentage>

Смещение задано как процент от ширины содержащего блока (для "left" или "right") или высоты (для "top" и "bottom"). Для "top" и "bottom", если "height" содержащего блока не специфицирована явно (т.е. оно зависит от высоты содержимого), процентное значение интерпретируется как "auto".

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

Модификации XSL определения CSS:

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

Если и "left" и "right" имеют значение, отличное от "auto", тогда, если "width" равно "auto",  ширина прямоугольника содержимого переопределяется; иначе геометрия переограничивается и разрешается в соответствии с [5.3.4 Переограниченной Геометрией]. Аналогично, если и "top" и "bottom" имеют значение, отличное от "auto", тогда, если "height" равно "auto", высота прямоугольника содержимого переопределяется; иначе геометрия переограничивается и разрешается в соответствии с [5.3.4 Переограниченной Геометрией].


7.6 Общие Звуковые свойства

7.6.1 "azimuth"

Определение CSS2:

Значение: <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit
Начальное: center
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: звуковой (для прослушивания)/aural

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-azimuth.


7.6.2 "cue-after"

Определение CSS2:

Значение:<uri-specification> | none | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное: N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-after.

Модификации XSL определения CSS:

Значение <uri> изменено на <uri-specification>.


7.6.3 "cue-before"

Определение CSS2:

Значение:<uri-specification> | none | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-before.

Модификации XSL определения CSS:

Значение <uri> было изменено на <uri-specification>.


7.6.4 "elevation"

Определение CSS2:

Значение:<angle> | below | level | above | higher | lower | inherit
Начальное:level
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-elevation.


7.6.5 "pause-after"

Определение CSS2:

Значение:<time> | <percentage> | inherit
Начальное: зависит от пользовательского агента (ПА)
Применяется:ко всем элементам
Наследуется:нет
Процентное:см. описание
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-after.


7.6.6 "pause-before"

Определение CSS2:

Значение:<time> | <percentage> | inherit
Начальное: зависит от ПА
Применяется:ко всем элементам
Наследуется:нет
Процентное:см. описание
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-before.


7.6.7 "pitch"

Определение CSS2:

Значение:<frequency> | x-low | low | medium | high | x-high | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch.


7.6.8 "pitch-range"

Определение CSS2:

Значение:<number> | inherit
Начальное:50
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch-range.


7.6.9 "play-during"

Определение CSS2:

Значение:<uri-specification> mix? repeat? | auto | none | inherit
Начальное:auto
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-play-during.

Модификации XSL определения CSS:

Значение <uri> было изменено на <uri-specification>.


7.6.10 "richness"

Определение CSS2:

Значение:<number> | inherit
Начальное:50
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-richness.


7.6.11 "speak"

Определение CSS2:

Значение:normal | none | spell-out | inherit
Начальное:normal
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak.


7.6.12 "speak-header"

Определение CSS2:

Значение:once | always | inherit
Начальное:once
Применяется:к элементам, имеющим информацию о "шапке"/header таблицы
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-speak-header.


7.6.13 "speak-numeral"

Определение CSS2:

Значение:digits | continuous | inherit
Начальное:continuous
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-numeral.


7.6.14 "speak-punctuation"

Определение CSS2:

Значение:code | none | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-punctuation.


7.6.15 "speech-rate"

Определение CSS2:

Значение:<number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speech-rate.


7.6.16 "stress"

Определение CSS2:

Значение:<number> | inherit
Начальное:50
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-stress.


7.6.17 "voice-family"

Определение CSS2:

Значение:[[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit
Начальное: зависит от ПА
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-voice-family.


7.6.18 "volume"

Определение CSS2:

Значение:<number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:да
Процентное: относительно унаследованного значения
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-volume.



7.7 Общие Свойства Рамки, Заполнения и Фона

Следующие общие свойства рамки/border, заполнения/padding и фона/background взяты из CSS2. Свойства "border", "padding" и "background", имеющие суффикс before, after, start или end, являются относительными к режиму письма и свойствами "только XSL".


7.7.1 "background-attachment"

Определение CSS2:

Значение:scroll | fixed | inherit
Начальное:scroll
Применяется: ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-attachment.

scroll

Фоновое изображение может прокручиваться вместе с содержащим объектом.

fixed

Фоновое изображение зафиксировано внутри области просмотра содержащего объекта.

Если фоновое изображение специфицировано, данное свойство специфицирует, зафиксировано ли изображение относительно порта просмотра (fixed) или прокручивется вместе с документом (scroll).

Даже если изображение зафиксировано, оно будет видно только в том случае, если оно находится в области фона или заполнения данного элемента. Таким образом, если изображение не размножено/tiled ("background-repeat: repeat"), оно может быть невидимым.

Пользовательские агенты (ПА) могут обращаться с фиксированным изображением как с прокручиваемым. Однако рекомендуется, чтобы они интерпретировали фиксированное изображение корректно, как минимум для элементов HTML и BODY, поскольку пока у авторов нет иного способа предоставить изображение только для браузеров, поддерживающих фиксирование. См. детали в разделе о соответствии.

Модификации XSL определения CSS:

Последний параграф в описании CSS не применяется.


7.7.2 "background-color"

Определение CSS2:

Значение:<color> | transparent | inherit
Начальное:transparent
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-color.

Это свойство устанавливает цвет фона элемента, значение <color> либо ключевое слово transparent, для создания эффекта просвечивания нижележащих цветов.

transparent

Нижележащие цвета будут просвечивать.

<color>

Любая верная спецификация цвета.

Модификации XSL определения CSS:

XSL добавляет функцию "rgb-icc" (см. [5.10.2 Функции Цвета]) как верное значение данного свойства.


7.7.3 "background-image"

Определение CSS2:

Значение:<uri-specification> | none | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-image.

Это свойство устанавливает фоновое изображение элемента. Устанавливая "background-image", авторы должны также специфицировать цвет фона/background-color, который будет использоваться, если изображение будет недоступно. Если изображение доступно, оно отображается поверх цвета фона. (Таким образом, цвет будет виден в прозрачных частях изображения).

Значениями данного свойства являются <uri-specification>, специфицирующее изображение, или "none", когда изображение не используется.

none

Изображение не специфицировано.

<uri-specification>

Модификации XSL определения CSS:

Значение <uri> было изменено на <uri-specification>.


7.7.4 "background-repeat"

Определение CSS2:

Значение:repeat | repeat-x | repeat-y | no-repeat | inherit
Начальное:repeat
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-repeat.

Если фоновое изображение специфицировано, данное свойство специфицирует, повторяется/размножается (tile) ли изображение, и как. Все повторения покрывают области содержимого и заполнения бокса.
Значения имеют следующий смысл:

repeat

Изображение повторяется и по горизонтали, и по вертикали.

repeat-x

Изображение повторяется только по горизонтали.

repeat-y

Изображение повторяется только по вертикали.

no-repeat

Изображение не повторяется: прорисовывается только один экземпляр изображения.

Модификации XSL определения CSS:

"Horizontal" и "vertical" определяются относительно ориентации reference-orientation; "horizontal" - это от "left" до "right", а "vertical" - от "top" до "bottom".

ПРИМЕЧАНИЕ:

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


7.7.5 "background-position-horizontal"

Свойство, полученное из свойства CSS2.

Значение:<percentage> | <length> | left | center | right | inherit
Начальное:0%
Применяется:ко всем объектам форматирования (ОФ), к которым применяется фон
Наследуется:нет
Процентное: относительно размера прямоугольника заполнения
Носитель: визуальный

Если свойство "background-image" специфицировано, оно специфицирует начальное положение горизонтально.

<percentage>

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

ПРИМЕЧАНИЕ:

Например, при значении 0% левый край/left-edge изображения выровнен с left-edge прямоугольника заполнения данной области. Значение 100% выравнивает правый край/right-edge изображения с right-edge прямоугольника заполнения. При значении 14%, точка 14% по горизонтали изображения помещается в точку 14% по горизонтали прямоугольника заполнения.

<length>

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

ПРИМЕЧАНИЕ:

Например, при значении 2cm левый край/left-edge изображения помещён на 2см вправо от левого края прямоугольника заполнения.

left

То же, что 0%.

center

То же, что 50%.

right

То же, что 100%.

Модификации XSL определения CSS:

"Left" и "right" определены относительно ориентации reference-orientation.


7.7.6 "background-position-vertical"

Свойство, полученное из свойства CSS2.

Значение:<percentage> | <length> | top | center | bottom | inherit
Начальное:0%
Применяется:ко всем объектам форматирования (ОФ), к которым применяется фон
Наследуется:нет
Процентное: относительно размера прямоугольника заполнения
Носитель: визуальный

Если свойство "background-image" специфицировано, оно устанавливает начальную позицию по вертикали.

<percentage>

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

ПРИМЕЧАНИЕ:

Например, при значении 0%, верхний край/top-edge изображения выровнен с верхним краем прямоугольника заполнения области. Значение 100% помещает нижний край/bottom-edge изображения выровненным с bottom-edge прямоугольника заполнения. При значении 84% точка изображения на 84% вниз по вертикали помещается в точку на 84% вниз по вертикали прямоугольника заполнения.

<length>

Специфицирует, что верхний край/top-edge изображения будет помещён на специфицированную величину ниже верхнего края прямоугольника заполнения.

ПРИМЕЧАНИЕ:

Например, при значении 2cm верхний край изображения помещается на 2см ниже верхнего края прямоугольника заполнения.

top

То же, что 0%.

center

То же, что 50%.

bottom

То же, что 100%.

Модификации XSL определения CSS:

"Top" и "bottom" определены относительно ориентации reference-orientation.


7.7.7 "border-before-color"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует цвет рамки края before-edge блок- или инлайн-области.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.8 "border-before-style"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-style> | inherit
Начальное:none
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует стиль рамки/border-style для края before-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.9 "border-before-width"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-width> | <length-conditional> | inherit
Начальное:medium
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует ширину рамки/ border-width для края before-edge.

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность/conditionality рамки для края before-edge.

Компонент .length это <length>. Он не может иметь отрицательное значение.
Компонент .conditionality может быть установлен в "discard/отбросить" или "retain/оставить", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведущим краем/leading-edge в области reference-area для областей, генерируемых из данного ОФ, который имеет значение is-first, равное "false". См. детали в разделе [4.3 Пространство и Обусловленность]. Начальное значение компонента .conditionality равно "discard".

ПРИМЕЧАНИЕ:

Если border-style установлен в "none", вычисленное значение ширины форсируется до "0pt".


7.7.10 "border-after-color"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует цвет рамки края after-edge блок- или инлайн-области.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.11 "border-after-style"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-style> | inherit
Начальное:none
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует стиль рамки/border-style для края after-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.12 "border-after-width"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-width> | <length-conditional> | inherit
Начальное:medium
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует ширину рамки/border-width для края after-edge.

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для рамки края after-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведомым краем /trailing-edge в области reference-area для областей, генерируемых из данного ОФ, который имеет значение is-last, равное "false". См. [4.3 Пространство и Обусловленность]. Начальное значение компонента .conditionality равно "discard".

ПРИМЕЧАНИЕ:

Если border-style установлен в "none", вычисленное значение ширины форсируется до "0pt".


7.7.13 "border-start-color"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует цвет рамки края start-edge блок- или инлайн-области.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.14 "border-start-style"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-style> | inherit
Начальное:none
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует стиль рамки для края start-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.15 "border-start-width"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-width> | <length-conditional> | inherit
Начальное:medium
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует ширину рамки для края start-edge.

ПРИМЕЧАНИЕ:

Если border-style установлен в "none", вычисленное значение ширины форсируется до "0pt".

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для рамки края start-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведущим краем /leading-edge в строчной области reference-area для областей, генерируемых из данного ОФ, который имеет значение is-first, равное "false". См. [4.3.1 Правила Разрешения (вычисления) Пространства]. Начальное значение компонента .conditionality равно "discard".


7.7.16 "border-end-color"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует цвет рамки для края end-edge блок- или инлайн-области.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.17 "border-end-style"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-style> | inherit
Начальное:none
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует border-style для края end-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.18 "border-end-width"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<border-width> | <length-conditional> | inherit
Начальное:medium
Применяется:см. описание
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Специфицирует border-width для края end-edge.

ПРИМЕЧАНИЕ:

Если border-style установлен в "none", вычисленное значение ширины форсируется до "0pt".

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для рамки края end-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведомым краем /trailing-edge в строчной области для областей, генерируемых из данного ОФ, который имеет значение  is-last, равное "false". См. [4.3.1 Правила Разрешения (вычисления) Пространства]. Начальное значение компонента .conditionality равно "discard"


7.7.19 "border-top-color"

Определение CSS2:

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-color.

Свойство 'border-color' устанавливает цвет для 4 линий рамки.
Значения имеют следующий смысл:

<color>

Любая верная спецификация цвета.

Если цвет рамки элемента не специфицирован свойством "border", пользовательский агент обязан использовать значение свойства "color" элемента в качестве вычисленного значения цвета рамки.


7.7.20 "border-top-style"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x9

Значение:<border-style> | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-style.

Свойство стиля рамки специфицирует стиль линии рамки бокса (solid, double, dashed и т.д.).

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

none

Рамки нет. Это значение форсирует вычисленное значение 'border-width' в '0'.

hidden

То же, что и 'none', за исключением терминологии разрешения конфликтов рамок в элементах таблицы.

dotted

Рамка это серия точек.

dashed

Рамка - серия коротких отрезков линии ("дефисов").

solid

Рамка - сплошная линия.

double

Рамка - двойная сплошная линия. Сумма этих двух линий и пространства между ними равна значению 'border-width'.

groove

Вдавленная рамка.

ridge

Противоположно 'groove': выпуклая рамка.

inset

Весь бокс как бы вдавлен в канву.

outset

Противоположно 'inset': весь бокс как бы выступает из канвы.

Все рамки прорисовываются поверх фона бокса. Цвет рамки при значениях 'groove', 'ridge', 'inset' и 'outset' должен базироваться на свойстве 'border-color' элемента, но ПА могут избирать свой собственный алгоритм расчёта используемых цветов. Например, если 'border-color' имеет значение 'silver', то ПА может использовать градацию цветов от белого до тёмно-серого для вывода скошенной рамки.

ПА, соответствующие HTML могут интерпретировать 'dotted', 'dashed', 'double', 'groove', 'ridge', 'inset' и 'outset' как 'solid'.


7.7.21 "border-top-width"

Определение CSS2:

Значение:<border-width> | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-width.

Свойства ширины рамки специфицируют ширину области рамки. Свойства, определённые в этом разделе, относятся к типу значения <border-width>, которые могут быть:

thin

Тонкая рамка.

medium

Рамка средней толщины.

thick

Толстая рамка.

<length>

Точное значение толщины рамки. Не может быть негативным.

Интерпретация первых трёх значений зависит от ПА.
Следующие соотношения должны, однако, выдерживаться:


7.7.22 "border-bottom-color"

Определение CSS2:

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-color.

Специфицирует цвет рамки для нижнего края/bottom-edge.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.23 "border-bottom-style"

Определение CSS2:

Значение:<border-style> | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-style.

Специфицирует стиль рамки для нижнего края/bottom-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.24 "border-bottom-width"

Определение CSS2:

Значение:<border-width> | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-width.

Специфицирует стиль рамки для нижнего края/bottom-edge.

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).


7.7.25 "border-left-color"

Определение CSS2:

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-color.

Специфицирует цвет рамки для левого края/left-edge.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.26 "border-left-style"

Определение CSS2:

Значение:<border-style> | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-style.

Специфицирует стиль рамки для левого края/left-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.27 "border-left-width"

Определение CSS2:

Значение:<border-width> | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-width.

Специфицирует ширину рамки для left-edge.

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).


7.7.28 "border-right-color"

Определение CSS2:

Значение:<color> | inherit
Начальное: значение свойства 'color'
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-color.

Специфицирует цвет для right-edge.

См. определение свойства border-top-color ([7.7.19 "border-top-color"]).


7.7.29 "border-right-style"

Определение CSS2:

Значение:<border-style> | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-style.

Специфицирует стиль рамки для right-edge.

См. определение свойства border-top-style ([7.7.20 "border-top-style"]).


7.7.30 "border-right-width"

Определение CSS2:

Значение:<border-width> | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:нет
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-width.

Специфицирует ширину рамки для right-edge.

См. определение свойства border-top-width ([7.7.21 "border-top-width"]).


7.7.31 "padding-before"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<padding-width> | <length-conditional> | inherit
Начальное:0pt
Применяется:см. описание
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Специфицирует ширину заполнения у края before-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для заполнения края before-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведущим краем /leadin-edge в области reference-area для областей, генерируемых из данного ОФ, который имеет значение is-first, равное "false". См. [4.3 Пространство и Обусловленность]. Начальное значение компонента .conditionality равно "discard".


7.7.32 "padding-after"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<padding-width> | <length-conditional> | inherit
Начальное:0pt
Применяется:см. описание
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Специфицирует ширину заполнения у края after-edge блок- или инлайн-области.

См. описание свойства padding-top ([7.7.35 "padding-top"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для заполнения края after-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведомым краем /trailing-edge в области reference-area для областей, генерируемых из данного ОФ, который имеет значение is-last, равное "false". См. [4.3 Пространство и Обусловленность]. Начальное значение компонента .conditionality равно "discard".


7.7.33 "padding-start"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<padding-width> | <length-conditional> | inherit
Начальное:0pt
Применяется:см. описание
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Специфицирует ширину заполнения у края start-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для заполнения края start-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведущим краем /leading-edge в строчной области для областей, генерируемых из данного ОФ, который имеет значение is-first, равное "false". См. [4.3.1 Правила Разрешения (вычисления) Пространства]. Начальное значение компонента .conditionality равно "discard".


7.7.34 "padding-end"

Эквивалент свойства CSS2, связанный с режимом письма.

Значение:<padding-width> | <length-conditional> | inherit
Начальное:0pt
Применяется:см. описание
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Специфицирует ширину заполнения у края end-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).

Модификации XSL определения CSS:

Следующие типы значений были добавлены для XSL:

<length-conditional>

Составное значение, специфицирующее ширину и любую обусловленность для заполнения края end-edge.

Компонент .length это <length>. Не может быть отрицательным. Компонент .conditionality может быть установлен в "discard" или "retain", чтобы управлять тем, должна ли рамка быть 0 или остаться в прежнем значении, если её ассоциированный край является ведомым краем /trailing-edge в строчной области для областей, генерируемых из данного ОФ, который имеет значение is-last, равное "false". См. [4.3.1 Правила Разрешения (вычисления) Пространства]. Начальное значение компонента .conditionality равно "discard"


7.7.35 "padding-top"

Определение CSS2:

Значение:<padding-width> | inherit
Начальное:0pt
Применяется:ко всем элементам
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-top.

<length>

Специфицирует ширину заполнения у края top-edge блок- или инлайн-области. В отличие от свойств полей, значения свойств заполнения не могут быть отрицательными.


7.7.36 "padding-bottom"

Определение CSS2:

Значение:<padding-width> | inherit
Начальное:0pt
Применяется:ко всем элементам
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-bottom.

Специфицирует ширину заполнения у края bottom-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).


7.7.37 "padding-left"

Определение CSS2:

Значение:<padding-width> | inherit
Начальное:0pt
Применяется:ко всем элементам
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-left.

Специфицирует ширину заполнения у края left-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).


7.7.38 "padding-right"

Определение CSS2:

Значение:<padding-width> | inherit
Начальное:0pt
Применяется:ко всем элементам
Наследуется:нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-right.

Специфицирует ширину заполнения у края right-edge блок- или инлайн-области.

См. определение свойства padding-top ([7.7.35 "padding-top"]).



7.8 Общие Свойства Шрифта

Все нижеследующие общие свойства шрифта взяты из CSS2.
Ссылка на CSS2:   http://www.w3.org/TR/REC-CSS2/fonts.html

ПРИМЕЧАНИЕ:

Хотя это - ссылки на конкретные свойства спецификации CSS, рекомендуем прочесть весь раздел о шрифтах в спецификации CSS2.


7.8.1 Шрифты и Данные Шрифта

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

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

Таблицы шрифта содержат информацию, необходимую для отображения символов в глифы, для определения размеров глиф-областей и для позиционирования глиф-областей. Таблица каждого шрифта состоит из одной или более характеристик шрифта, таких как вес шрифта/font-weight и стиль шрифта/font-style.

Геометрические характеристики шрифта выражены в системе координат на базе бокса EM. (EM это относительное измерение высоты глифа в шрифте; см. [5.9.7.2 Относительные Размеры].) Этот бокс размером в 1 EM высоты и 1 EM ширины называется пространством дизайна. Точки этого пространства дизайна выражены в геометрических координатах в терминах дробных частей EM.

Координатное пространство бокса EM называется системой координат пространства дизайна. Для масштабируемых шрифтов, кривые и линии, используемые для прорисовки глифа, представлены с использованием этой системы координат.

ПРИМЕЧАНИЕ:

Чаще всего точка (0,0) в этой системе координат позиционирована в левом углу бокса EM, но не в левом нижнем углу. Координата Y низа латинской заглавной буквы обычно равна нулю. Кроме того, нисходящие части римских букв нижнего регистра имеют отрицательные координатные значения.

В XSL принимается, что таблицы шрифта предоставляют не менее трёх характеристик шрифта: возвышение/ascent, нисхождение/descent и набор таблиц базовых линий/baseline-tables. Значения координат даются в системе координат пространства дизайна. Возвышение задаётся вертикальной координатой верха бокса EM; нисхождение  задаётся вертикальной координатой низа бокса EM. Таблица базовых линий рассматривается далее.

Глифы данного вида письма позиционируются так, что определённая точка каждого глифа, точка выравнивания/alignment-point, выравнивается с точками выравнивания других глифов данного письма.
Глифы разных видов письма обычно выравниваются по разным точкам глифов. Например, западные глифы выравниваются по низу заглавных букв, некоторые индийские глифы (включая глифы из Devanagari, Gurmukhi и Bengali) выравниваются по верху горизонтальной линии вблизи от верха глифов, а дальневосточные глифы выравниваются либо по низу, либо по центру бокса EM глифа. Внутри письма и в теле строки текста, имеющего один размер шрифта, последовательность точек выравнивания определяет, в направлении inline-progression-direction, геометрическую линию, называемую базовой линией/baseline. Западные и большинство других силлабических глифов выравниваются по "алфавитной" базовой линии, вышеуказанные индийские глифы выравниваются по "подвесной/hanging" базовой линии, а дальневосточные глифы выравниваются по "идеографической" базовой линии.

Three glyphs (in Roman, Gumurkhi and Ideographic) with their corresponding baselines shown (alphabetic, hanging and ideographic, respectively).

Данный рисунок демонстрирует вертикальную позицию точки выравнивания для алфавитного и многих силлабических видов письма - латинскую "A"; для некоторых индийских видов письма -  силлабическую "ji" в Gurmukhi; и для идеографических видов письма - идеографический глиф, означающий "страна". Тонкий чёрный прямоугольник вокруг идеографического глифа иллюстрирует бокс EM этого глифа и показывает типичное позиционирование "чёрных меток/black marks" глифа внутри бокса EM.

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

Four examples of horizontal and vertical baseline positions, described below.

Примеры горизонтальной и вертикальной позиций базовой линии. Бокс из тонких линий в каждом примере это "EM-box". Для латинских глифов показан только бокс EM первого глифа.
Пример 1 показывает типичный латинский текст, написанный горизонтально. Этот текст позиционирован относительно алфавитной базовой линии, показанной голубым цветом.
Пример 2 показывает типичный идеографический глиф, позиционированный на горизонтальной идеографической базовой линии.
Заметьте, шта бокс EM позиционирован по разному в этих двух примерах.
Примеры 3 и 4 показывают тот же набор базовых линий, используемый при вертикальном письме. Латинский текст, в примере 3, показан с ориентацией глифов в 90 градусов, что типично для пропорционального распределения пространства  латинских глифов при вертикальном письме. Хотя идеографический глиф в примере example 4 позиционирован по вертикальной идеографической базовой линии, из-за того, что он центрирован в боксе EM, все глифы с тем же боксом EM выровнены по центру, вертикально и относительно друг друга.
Дополнительные примеры позиционирования смешанного письма даны во введении к разделам [7.13 Свойства Выравнивания Области] и [7.27 Свойства, Относящиеся к Режиму Письма].

Таблицы шрифта включают характеристики шрифта для отдельных глифов. В XSL принимается, что таблицы шрифта содержат для каждого глифа шрифта одно значение ширины, одну базовую линию выравнивания/alignment-baseline и одну точку выравнивания/alignment-point для горизонтального режима письма. Если поддерживаются режимы вертикального письма, каждый глиф обязан иметь отдельное значение ширины, alignment-baseline и alignment-point для вертикального режима письма. (Хотя она и специфицируется как ширина, при вертикальном режиме письма ширина используется в вертикальном направлении (высота).)

Письмо, к которому принадлежит глиф, определяет базовую линию выравнивания/alignment-baseline, по которой глиф выравнивается. Позиция этой базовой линии в системе координат пространства дизайна определяет позицию по умолчанию точки выравнивания в направлении block-progression-direction. Позиция направления inline-progression-direction точки выравнивания находится у края start-edge глифа. (Эти позиции уточняются в соответствии со спецификациями в разделе [7.13.1 "alignment-adjust"], когда экземпляр глифа используется в инлайн- или блок-ОФ. Свойства "space-start" и/или "space-end" объекта fo:character, отображаемого в глиф, могут быть уточнены эффектом "кернинг/kerning" относительно смежных глифов.)

Glyphs from three different scripts, each with its EM box and within the EM box, the baseline table applicable to that glyph.

На рисунке показаны глифы трёх различных видов письма, каждый со своим боксом EM и внутри бокса EM, и применение таблицы базовых линий к этим глифам. Точка выравнивания каждого глифа показана голубой "X" у начального края бокса EM и голубой базовой линией. Таблица базовых линий родительского ОФ символов, отображаемых в эти глифы, показана пунктиром.

В дополнение к необходимым характеристикам шрифта, указанным выше, шрифт может также предоставлять таблицы подстановки и позиционирования, которые могут использоваться форматировщиком для переупорядочивания, комбинирования и позиционирования последовательности глифов для создания одного или нескольких составных глифов. Комбинация может быть простой, как лигатура, или сложной, как индийские силлабические символы, комбинирующие, обычно одновременно с некоторым переупорядочиванием, несколько гласных и согласных глифов. См. [4.7.2 Конструирование Строк].

ПРИМЕЧАНИЕ:

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


7.8.2 "font-family"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x73

Значение:[[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit
Начальное: зависит от пользовательского агента
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-family.

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

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

Есть два типа имён семейств шрифтов:

<family-name>

Имя семейства шрифтов. В предыдущем примере [из Рекомендаций CSS2], "Baskerville", "Heisi Mincho W3" и "Symbol" - это семейства шрифтов. Имена семейств шрифтов, содержащие пробелы, должны заключаться в кавычки. Если кавычки пропущены, любые пробельные символы до и после имени шрифта игнорируются, а любая последовательность пробелов внутри имени шрифта конвертируется до одиночного символа пробела.

<generic-family>

Определены следующие родовые семейства: "serif", "sans-serif", "cursive", "fantasy" и "monospace". Просмотрите в разделе о родовых семействах шрифтов описания этих семейств. Имена родовых семейств шрифтов являются ключевыми словами и, следовательно, обязаны вводиться без кавычек.

Модификации XSL для определения CSS:

<string>

Имена синтаксически выражаются как строки.

ПРИМЕЧАНИЕ:

Просмотрите в словаре выражений информацию о двухаргументной функции "system-font", которая возвращает характеристики системного шрифта. Это можно использовать, например, вместо сокращения "font" для специфицирования имени системного шрифта.


7.8.3 "font-selection-strategy"

Определение XSL:

Значение:auto | character-by-character | inherit
Начальное:auto
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

В XSL нет механизма специфицирования конкретного шрифта; вместо этого отбирается выбранный шрифт/selected font из шрифтов, доступных ПА, на базе набора критериев выбора. В качестве критериев выбора/selection criteria выступают следующие свойства шрифта: "font-family", "font-style", "font-variant", "font-weight", "font-stretch" и "font-size" плюс, для некоторых ОФ, один или более символов. Эти символы называются контекстными символами/contextual characters. Контекстных символов может быть мало - один символ, и много - полный набор символов обрабатываемого результирующего дерева.

За исключением ОФ fo:character, для всех других ОФ, где применяется "font-family", критерий выбора состоит только из вышеприведённых свойств шрифта. Для объекта fo:character критерием выбора являются эти свойства плюс либо только значение свойства "character" объекта fo:character, либо этот символ с другими контекстными символами.

Стратегия выбора шрифта на базе этих критериев специфицируется свойством "font-selection-strategy".

Свойство "font-family" это приоритетный список имён семейств шрифтов, которые последовательно перебираются для нахождения доступного шрифта, соответствующего критериям отбора. Соответствие критериям отбора шрифта найдено, если соответствующие характеристики шрифта совпадают со свойствами, как специфицировано в описаниях свойств.

Если подходящий шрифт не найден, резервный отбор проводится в манере системы (ОС).

ПРИМЕЧАНИЕ:

Этот поиск может проводиться с использованием  "font-family" по умолчанию в данном ПА, или может существовать более разработанная резервная стратегия, где, например, "Helvetica" может использоваться для подстановки вместо "Univers".

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

Значения свойства "font-selection-strategy" имеют следующий смысл:

auto

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

ПРИМЕЧАНИЕ:

Реализация может, например, использовать алгоритм, где все символы в результирующем дереве, имеющем один набор значений свойства отбора шрифта, влияют на выбор, или она может использовать только свойство символа одного ОФ fo:character, для которого выбирается шрифт. Рассмотрим, например, случай, когда среди доступных шрифтов есть такой шрифт, который покрывает латиницу, кириллицу и греческие символы, а также три более качественных шрифта, покрывающие эти наборы по отдельности, но плохо совмещающиеся друг с другом стилистически. Реализация, выполняющая полный обзор своих контекстных символов, может предусматривать дополнение глифов для того, чтобы дать возможность выбора наилучшего шрифта, если он покрывает дополнительные глифы, но будет использовать наиболее полный шрифт с удовлетворительным качеством стиля, если его (шрифта) дополнение глифов больше, чем у других шрифтов.

character-by-character

Набор контекстных символов состоит из одиночного символа, который является значением свойства "character" объекта fo:character, для которого выбирается этот шрифт.

ПРИМЕЧАНИЕ:

Стратегия выбора - та же, что и стратегия выбора шрифтов в CSS.

Описывает критерии выбора шрифтов и разную стратегию использования этих критериев для определения выбранного шрифта/selected font.


7.8.4 "font-size"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x74

Значение:<absolute-size> | <relative-size> | <length> | <percentage> | inherit
Начальное:medium
Применяется:ко всем элементам
Наследуется:да, наследуется вычисленное значение
Процентное: относительно размера шрифта родительского элемента
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-size.

Это свойство описывает размер шрифта, если он установлен solid. Размер шрифта соответствует размеру em-квадрата, концепция, используемая в типографиях. Заметьте, что определённые глифы могут выходить за пределы своих em-квадратов. Значения имеют следующий смысл:

<absolute-size>

Ключевое слово <absolute-size> относится ко входу таблицы размеров шрифтов, вычисленной и сохраняемой ПАгентом. Возможные значения:

[ xx-small | x-small | small | medium | large | x-large | xx-large ]

На экране компьютера фактор масштабирования 1.2 рекомендуется между соседними индексами; если шрифт "medium" равен 12pt, шрифт "large" будет тогда 14.4pt. Различные носители могут требовать различных факторов масштабирования. Также ПА должен учитывать качество и доступность шрифта при вычислении таблицы шрифтов. Эта таблица может отличаться для разных семейств шрифтов. Примечание. В CSS1 рекомендуемый фактор масштабирования между соседними индексами был 1.5, что могло оказаться слишком большим для пользователя.

<relative-size>

Ключевое слово <relative-size> интерпретируется относительно таблицы шрифтов и размера шрифта родительского элемента. Возможные значения:

[ larger | smaller ]

Например, если родительский элемент имеет размер шрифта "medium", значение "larger" сделает шрифт текущего элемента "больше". Если родительский размер не имеет входа в таблице, ПА свободен в выборе между имеющимися входами таблицы или округлением до ближайшего значения. От ПА может потребоваться экстраполировать значения таблицы, если помимо ключевых слов используется числовое значение.

<length>

Значение размера специфицирует абсолютный размер шрифта (независимый от таблицы шрифтов ПА). Отрицательные значения не допускаются.

<percentage>

Процентное значение специфицирует абсолютный размер шрифта относительно размера шрифта родительского элемента. Использование процентных значений или значений в "em" даёт возможность создавать более надёжные и каскадируемые таблицы стилей.

Текущее значение этого свойства может отличаться от вычисленного значения из-за числового значения в 'font-size-adjust' и невозможности установки отдельных размеров шрифта.

Дочерние элементы наследуют вычисленное значение 'font-size' (иначе может участвовать 'font-size-adjust').

Модификации XSL определения CSS:

XSL включает следующий текст из CSS2 15.5 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm") как часть определения свойства.

'font-size' обязан быть в пределах поля допуска ПА. (Обычно размеры масштабируемых шрифтов округляются до ближайшего целого значения в пикселах, в то время как допуск для растровых шрифтов может быть и 20%.) Дальнейшие вычисления, например, значениями 'em' в других свойствах, базируются на вычисленном значении 'font-size'.


7.8.5 "font-stretch"

Определение CSS2:

Значение:normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit
Начальное:normal
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.

Свойство 'font-stretch' выбирает нормальный, плотный или расширенный шрифт из семейства шрифтов.

ultra-condensed
extra-condensed
condensed
semi-condensed
normal
semi-expanded
expanded
extra-expanded
ultra-expanded


Абсолютные ключевые слова имеют следующий порядок, от сжатого до широкого:

  1. ultra-condensed

  2. extra-condensed

  3. condensed

  4. semi-condensed

  5. normal

  6. semi-expanded

  7. expanded

  8. extra-expanded

  9. ultra-expanded

wider

Относительное значение "wider" устанавливает шрифт в следующее более широкое значение по сравнению с унаследованным (не шире "ultra-expanded").

narrower

Относительное значение "narrower" устанавливает шрифт в следующее более узкое значение по сравнению с унаследованным (не уже "ultra-condensed").


7.8.6 "font-size-adjust"

Определение CSS2:

Значение:<number> | none | inherit
Начальное:none
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#font-size-props.

В двухкамерных видах письма субъективно видимый размер и разборчивость шрифта меньше зависят от значения 'font-size', чем от значения 'x-height', или, более понятно, они зависят от соотношения этих двух значений, называемого аспектным значением (размер шрифта, делённый на x-height). Чем выше аспектное значение, тем более вероятно, что шрифт наименьшего размера будет разборчивым. Наоборот, при меньшем аспектном значении шрифты скорее становятся нечитаемыми при размерах ниже порогового значения. Прямая подстановка/замена шрифтов при сохранении размера шрифта может привести к появлению нечитаемых символов.

Например, популярный шрифт Verdana имеет аспектное значение 0.58; если размер шрифта Verdana равен 100 единицам, его x-height будет 58 единиц. Для сравнения, Times New Roman имеет аспектное значение 0.46. Verdana, следовательно, останется читабельным при меньших, чем для Times New Roman, размерах шрифта. И наоборот, Verdana часто будет выглядеть слишком большим при подстановке вместо шрифта Times New Roman.

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

none

Не сохраняется x-height шрифта.

<number>

Специфицирует аспектное значение. Число ссылается на аспектное значение первого выбранного шрифта. Фактор масштабирования для доступных шрифтов вычисляется по следующей формуле:

y(a/a') = c

где:

y="font-size" первого шрифта

a' = аспектному значению доступного шрифта

c="font-size" - для применения к доступному шрифту

Это свойство даёт авторам возможность специфицировать аспектное значение для элемента, что сохранит x-height первого шрифта в замещающем шрифте.

Уточнение размера шрифта имеет место при вычислении текущего значения "font-size". Поскольку наследование базируется на вычисленном значении, дочерние элементы будут наследовать неуточнённые значения.


7.8.7 "font-style"

Определение CSS2:

Значение:normal | italic | oblique | backslant | inherit
Начальное:normal
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.

Свойство "font-style" запрашивает из семейства шрифтов нормальный (называемый иногда "roman" или "upright"), italic и oblique шрифт. Значения имеют следующий смысл:

normal

Специфицирует шрифт, классифицируемый как "normal" в базе шрифтов ПАгента.

oblique

Специфицирует шрифт, классифицируемый как "наклонный/oblique" в базе шрифтов ПАгента. Шрифты Oblique, Slanted или Incline в названиях обычно будут помечены "oblique" в базе шрифтов. Шрифт, помеченный как "oblique" в базе шрифтов ПА, может в действительности генерироваться электронным наклоном нормального шрифта.

italic

Специфицирует шрифт, классифицируемый как "italic" в базе шрифтов ПАгента, или, если он недоступен, как шрифт, помеченный как 'oblique'. Шрифты со словами Italic, Cursive или Kursiv в названии обычно помечаются как "italic".

Модификации XSL определения CSS:

Следующие типы значений добавлены для XSL:

backslant

Специфицирует шрифт, классифицируемый как "backslant/с обратным наклоном" в базе шрифтов ПА.

XSL включает следующий текст из CSS2 15.5 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm) как часть определения свойства, за исключением того, что для XSL информация получается из таблиц шрифтов доступных шрифтов.

'italic' будет подтверждён, если в базе шрифтов ПА есть шрифт, помеченный ключевым словом CSS 'italic' (предпочтительнее) или 'oblique'. Иначе значения обязаны точно соответствовать, или font-style потерпит неудачу.


7.8.8 "font-variant"

Определение CSS2:

Значение:normal | small-caps | inherit
Начальное:normal
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.

В шрифте малых заглавных букв/small-caps глифы букв нижнего регистра похожи на глифы заглавных, но имеют меньший размер и несколько иные пропорции. Свойство "font-variant" запрашивает такой шрифт для двухкамерного письма (имеющего два регистра, как Roman). Это свойство не оказывает видимого действия для однокамерных видов письма (имеющих только один регистр, как большинство мировых систем письма). Значения имеют следующий смысл:

normal

Специфицирует шрифт, не помеченный как шрифт small-caps.

small-caps

Специфицирует шрифт, помеченный как шрифт small-caps. Если подлинный шрифт small-caps недоступен, ПА должны симулировать шрифт small-caps, например, путём замещения букв нижнего регистра нормального шрифта масштабированными буквами верхнего регистра. В крайнем случае, глифы немасштабированных букв верхнего регистра нормального шрифта могут заменить глифы шрифта small-caps так, что весь текст будет выведен заглавными буквами.

Так как это свойство трансформирует текст в верхний регистр, применяются те же условия, что и для "text-transform".

Модификации XSL определения CSS:

XSL включает следующий текст из CSS2 15.5 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm) как часть определения свойства:

'normal' соответствует шрифту, не помеченному как 'small-caps';
'small-caps' соответствует
(1) шрифту, помеченному как 'small-caps',
(2) шрифту, в котором малые заглавные синтезируются, или
(3) шрифту, в котором все буквы нижнего регистра заменены на буквы верхнего регистра. Шрифт small-caps может быть синтезирован электронно путём масштабирования букв верхнего регистра нормального шрифта.


7.8.9 "font-weight"

Определение CSS2:

Значение:normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Начальное:normal
Применяется:ко всем элементам
Наследуется:да
Процентное:N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.

Свойство "font-weight" специфицирует "вес" шрифта.

normal

То же, что "400".

bold

То же, что "700".

bolder

Специфицирует для шрифта следующий вес, более тёмный, чем унаследованный. Если такого веса нет, это просто даст следующее более тёмное числовое значение (и шрифт не изменится), если только наследуемое значение не равно "900" - в этом случае результирующий вес также будет "900".

lighter

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

<integer>

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

Дочерние элементы наследуют вычисленное значение веса.

Модификации XSL определения CSS:

XSL включает следующий текст из CSS2 15.5.1 (http://www.w3.org/TR/REC-CSS2/fonts.html#q46) как часть определения свойства:

Ассоциация других весов внутри семейства с числовыми значениями веса предполагается только для сохранения порядка весов внутри этого семейства. ПА обязаны отображать имена в значения способом, который сохраняет визуальный порядок; фасон/face шрифта, отображаемый в значение, обязан не быть светлее, чем фасоны, отображаемые в более низкие значения. Нет никаких гарантий того, как ПА будет отображать шрифты внутри семейства в значения веса. Однако следующая эвристрика сообщит, как выполняется назначение в типичных случаях: Если семейство шрифтов уже использует числовую шкалу из 9 ступеней (как, например, делает OpenType), веса шрифтов должны отображаться напрямую.

Если имеется фасон Medium и фасон Book, Regular, Roman или Normal, тогда Medium нормально получает '500'.

Шрифт, помеченный "Bold", часто соответствует значению веса '700'.

Если в семействе имеется менее 9 весов, алгоритм по умолчанию для заполнения "дыр" будет таким. Если '500' не назначено, оно будет назначено тому же шрифту, что и  '400'. Если любое из значений '600', '700', '800' или '900' остаются неназначенными, они назначаются тому же фасону, что и следующее более тёмное назначенное ключевое слово, если имеется, или следующему более светлому - в противном случае. Если любое из '300', '200' или '100' остаётся неназначенным, оно назначается следующему более светлому ключевому слову, если имеется, или следующему более тёмному - в противном случае.

Нет гарантий того, что в наличии будет более тёмный фасон для каждого значения 'font-weight'; например, некоторые шрифты могут иметь только фасоны normal и bold, другие могут иметь 8 различных весов фасона.



7.9 Общие Свойства Переноса

7.9.1 "country"

Определение XSL:

Значение:none | <country> | inherit
Начальное:none
Применяется:к  fo:block, fo:character, fo:page-sequence
Наследуется:да
Процентное:N/A
Носитель: визуальный

Значения имеют следующий смысл:

none

Означает, что страна неизвестна или не имеет значения для форматирования данного объекта.

<country>

Спецификатор страны в соответствии с [RFC3066].

Специфицирует значение страны, используемое форматировщиком в службах language-/locale, таких как стратегия line-justification, line-breaking и переносы/hyphenation.

ПРИМЕЧАНИЕ:

Это может воздействовать на построение строк системным способом.

Страна может быть компонентом кода RFC 3066; (они получены из ISO 3166).


7.9.2 "language"

Определение XSL:

Значение:none | <language> | inherit
Начальное:none
Применяется:к  fo:block, fo:character, fo:page-sequence
Наследуется:да
Процентное:N/A
Носитель: визуальный

Значения имеют следующий смысл:

none

Означает, что язык не известен или не имеет значения для форматирования данного объекта.

<language>

Спецификатор языка в соответствии с [RFC3066].

Специфицирует язык, используемый форматировщиком в службах language-/locale, таких как стратегия line-justification, line-breaking и hyphenation.

ПРИМЕЧАНИЕ:

Это может воздействовать на построение строк системным способом.

Язык может компонентом кода RFC 3066 (они получены из кодов языка ISO 639).


7.9.3 "script"

Определение XSL:

Значение:none | auto | <script> | inherit
Начальное:auto
Применяется:к  fo:block, fo:character
Наследуется:да
Процентное:N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Означает, что письмо определяется на базе тестирования символа в документе относительно идентификатора письма, назначенного диапазонам кодовых точек Unicode.

Для объекта fo:character тестируемый символ задаётся свойством "character". Для других ОФ тестируемый символ - это первый потомок символа, как определено предупорядоченным пересечением/pre-order traversal очищенного дерева ОФ, имеющего недвусмысленный идентификатор вида письма.

ПРИМЕЧАНИЕ:

Предоставляется автоматическая дифференциация между Kanji, Katakana, Hiragana и Romanji, используемая в JIS-4051 и подобных сервисах в некоторых других странах/языках.

none

Означает, что вид письма неизвестен или не имеет значения для форматирования этого объекта.

<script>

Спецификатор вида письма в соответствии с [ISO15924].

Специфицирует вид письма, используемого форматировщиком в службах language-/locale, таких как стратегия line-justification, line-breaking и hyphenation.

ПРИМЕЧАНИЕ:

Это может воздействовать на построение строк системным способом.


7.9.4 "hyphenate"

Определение XSL :

Значение:false | true | inherit
Начальное:false
Применяется:к  fo:block, fo:character
Наследуется:да
Процентное:N/A
Носитель: визуальный

Значения имеют следующий смысл:

false

Переносы не могут использоваться в алгоритме обрыва строк/line-breaking для текста, содержащегося в этом объекте.

true

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

Специфицирует, могут ли переносы быть разрешены при обрыве строки, если форматировщик форматирует этот ОФ.


7.9.5 "hyphenation-character"

Определение XSL:

Значение:<character> | inherit
Начальное:символ переноса Unicode U+2010
Применяется:к  fo:block, fo:character
Наследуется:да
Процентное:N/A
Носитель: визуальный

Значения имеют следующий смысл:

<character>

Специфицирует символ Unicode, представляемый при возникновении разрыва переноса. Свойства стилизации этого символа - это свойства, наследуемые из содержащего их объекта потока.


7.9.6 "hyphenation-push-character-count"

Определение XSL:

Значение: <number> | inherit
Начальное: 2
Применяется: fo:block, fo:character
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<integer>

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

hyphenation-push-character-count это положительное целое, специфицирующее минимальное число символов в переносимом слове после символа переноса. Это минимальное число символов в слове, переносимое на новую строку после строки, закончившейся символом переноса (дефисом).


7.9.7 "hyphenation-remain-character-count"

Определение XSL:

Значение: <number> | inherit
Начальное: 2
Применяется: fo:block, fo:character
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<integer>

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

hyphenation-remain-character-count это положительное целое, специфицирующее минимальное число символов в переносимом слове перед символом переноса. Это минимальное число символов в слове, остающееся в конце строки вместе с символом переноса.



7.10 Общие Свойства Полей Блока

7.10.1 "margin-top"

Определение CSS2:

Значение: <margin-width> | inherit
Начальное: 0
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-top.

Margin-width/ширина поля может быть:

auto

См. о поведении в CSS2 раздел о вычислении ширины и полей.

<length>

Специфицирует фиксированную ширину.

<percentage>

Процентное значение рассчитывается относительно ширины содержащего блока генерируемого бокса. Это верно для 'margin-top' и 'margin-bottom', исключая контекст страницы, где проценты относятся к высоте бокса страницы.

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

Устанавливает верхнее поле бокса.

Модификации XSL определения CSS:


7.10.2 "margin-bottom"

Определение CSS2:

Значение: <margin-width> | inherit
Начальное: 0
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-bottom.

Margin-width/ширина поля может быть:

auto

См. о поведении в CSS2 раздел о вычислении ширины и полей.

<length>

Специфицирует фиксированную ширину.

<percentage>

Процентное значение рассчитывается относительно ширины содержащего блока генерируемого бокса. Это верно для 'margin-top' и 'margin-bottom', исключая контекст страницы, где проценты относятся к высоте бокса страницы.

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

Устанавливает нижнее поле бокса.

Модификации XSL определения CSS:


7.10.3 "margin-left"

Определение CSS2:

Значение: <margin-width> | inherit
Начальное: 0pt
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-left.

Margin-width/ширина поля может быть:

auto

См. о поведении в CSS2 раздел о вычислении ширины и полей.

<length>

Специфицирует фиксированную ширину.

<percentage>

Процентное значение рассчитывается относительно ширины содержащего блока генерируемого бокса. Это верно для 'margin-top' и 'margin-bottom', исключая контекст страницы, где проценты относятся к высоте бокса страницы.

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

Устанавливает левое поле бокса..

Модификации XSL определения CSS:


7.10.4 "margin-right"

Определение CSS2:

Значение: <margin-width> | inherit
Начальное: 0pt
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-right.

Margin-width/ширина поля может быть:

auto

См. о поведении в CSS2 раздел о вычислении ширины и полей.

<length>

Специфицирует фиксированную ширину.

<percentage>

Процентное значение рассчитывается относительно ширины содержащего блока генерируемого бокса. Это верно для 'margin-top' и 'margin-bottom', исключая контекст страницы, где проценты относятся к высоте бокса страницы.

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

Устанавливает правое поле бокса..

Модификации XSL определения CSS:


7.10.5 "space-before"

Определение XSL:

Значение: <space> | inherit
Начальное: space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
Применяется: ко всем ОФ блок-уровня
Наследуется: нет
Процентное: N/A (Отличается от margin-top в CSS)
Носитель: визуальный

Значения имеют следующий смысл:

<space>

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

Специфицирует значение спецификатора пространства/space-specifier для пространства перед областями, генерируемыми этим ОФ. Определение спецификатора пространства и описание взаимодействия между спецификаторами пространства, появляющимися последовательно, даны в разделе [4.3 Пространство и Обусловленность].

ПРИМЕЧАНИЕ:

Обычный пример такой последовательности - "space-after" одной области и "space-before" её следующего родственника.


7.10.6 "space-after"

Определение XSL:

Значение: <space> | inherit
Начальное: space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
Применяется: ко всем ОФ блок-уровня
Наследуется: нет
Процентное: N/A (Отличается от margin-bottom в CSS)
Носитель: визуальный

Значения имеют следующий смысл:

<space>

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

Специфицирует значение спецификатора пространства/space-specifier для пространства перед областями, генерируемыми этим ОФ. Определение спецификатора пространства и описание взаимодействия между спецификаторами пространства, появляющимися последовательно, даны в разделе [4.3 Пространство и Обусловленность].

ПРИМЕЧАНИЕ:

Обычный пример такой последовательности - "space-after" одной области и "space-before" её следующего родственника.


7.10.7 "start-indent"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 0pt
Применяется: ко всем элементам блок-уровня
Наследуется: да
Процентное: относительно размера inline-progression-dimension содержащей области reference-area
Носитель: визуальный

Значения имеют следующий смысл:

<length>

"start-indent" специфицирован как размер/длина.

<percentage>

"start-indent" специфицирован как проценты от размера inline-progression-dimension содержащей области reference-area.

Для каждой блок-области, генерируемой этим ОФ, специфицирует расстояние от начального края/start-edge прямоугольника содержимого содержащей области reference-area до start-edge прямоугольника содержимого этой блок-области.

Это свойство может иметь отрицательное значение, что обозначает "выступ"/outdent.


7.10.8 "end-indent"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 0pt
Применяется: ко всем ОФ блок-уровня
Наследуется: да
Процентное: относительно размера inline-progression-dimension содержащей области reference-area
Носитель: визуальный

Значения имеют следующий смысл:

<length>

"end-indent" специфицирован как размер/длина.

<percentage>

"end-indent" специфицирован как проценты от размера inline-progression-dimension содержащей области reference-are.

Для каждой блок-области, генерируемой этим ОФ, специфицирует расстояние от конечного края/end-edge прямоугольника содержимого этой блок-области до end-edge прямоугольника содержимого содержащей области.

Это свойство может иметь отрицательное значение, что обозначает "выступ"/outdent.

 

7.11 Общие Свойства Инлайн-Полей

Эта группа включает также все свойства из общих блок-свойств полей, исключая space-before, space-after, start-indent и end-indent.


7.11.1 "space-end"

Определение XSL:

Значение: <space> | <percentage> | inherit
Начальное: space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: относительно размера inline-progression-dimension ближайшей блок-области - предка, не являющейся строчной областью
Носитель: визуальный

Значения имеют следующий смысл:

<space>

"space-end" специфицирован как пространство.

<percentage>

"space-end" специфицирован как проценты от размера inline-progression-dimension ближайшей блок-области - предка.

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

Специфицирует значение спецификатора пространства/space-specifier для пространства после областей, генерируемых этим ОФ. Определение спецификатора пространства и описание взаимодействия между спецификаторами пространства, появляющимися последовательно, даны в разделе [4.3 Пространство и Обусловленность].

ПРИМЕЧАНИЕ:

Обычными примером такой последовательности может служить "space-end" одной области и space-start" её последующего родственника.


7.11.2 "space-start"

Определение XSL:

Значение: <space> | <percentage> | inherit
Начальное: space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: относительно размера inline-progression-dimension ближайшей блок-области - предка, не являющейся строчной областью
Носитель: визуальный

Значения имеют следующий смысл:

<space>

"space-start" специфицирован как пространство.

<percentage>

"space-start" специфицирован как проценты от размера inline-progression-dimension ближайшей блок-области - предка.

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

Специфицирует значение спецификатора пространства/space-specifier для пространства перед областями, генерируемыми этим ОФ. Определение спецификатора пространства и описание взаимодействия между спецификаторами пространства, появляющимися последовательно, даны в разделе [4.3 Пространство и Обусловленность]

ПРИМЕЧАНИЕ:

Обычными примером такой последовательности может служить "space-end" одной области и space-start" её последующего родственника.



7.12 Общие Свойства Относительного Позиционирования

Эта группа включает также свойства top, right, bottom и left из группы общих свойств абсолютного позиционирования.

7.12.1 "relative-position"

Свойство, полученное из свойства CSS2.

Значение: static | relative | inherit
Начальное: static
Применяется: ко всем ОФ инлайн- и блок-уровня
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

static

Область нормально стэкируется.

relative

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

Для областей, разорванных по границе страницы, только та часть, которая была изначально на данной странице, включается в репозиционированную область на этой странице. Любая часть репозиционированной области, находившаяся первоначально на текущей странице, но выпадает из текущей страницы при репозиционировании, будет "off" (обычно усечена), и, таким образом, не попадает на другую страницу.



7.13 Свойства Выравнивания Области

Свойства выравнивания области управляют выравниванием дочерних областей относительно их  родительских областей. Родительская область является фрэймом для ссылки посредством её масштабированной таблицы базовых линий/scaled-baseline-table. Таблица scaled-baseline-table это составное значение из трёх компонентов: идентификатор базовой линии/baseline-identifier для доминантной базовой линии/dominant-baseline, полученной таблицы базовых линий/baseline-table с позициями для базовых линий, выраженных в координатах пространства дизайна, и размера шрифта таблицы baseline-table, который используется для масштабирования позиций базовых линий этой таблицы базовых линий. В масштабированной таблице базовых линий/scaled-baseline-table позиции базовых линий могут уточняться путём умножения значений координат пространства дизайна на размер шрифта таблицы baseline-table.

Эти базовые линии показаны на рисунке:

Row of glyphs from different scripts shown with a set of baselines described in the text below.

На рисунке показаны примеры Gurmukhi (висячего индийского письма), латиницы и идеографического письма и большинство базовых линий, которые определены далее. Тонкая линия вокруг идеографических глифов символизирует бокс EM, в котором эти глифы центрированы. На данном рисунке позиции базовых линий "text-before-edge" и "text-after-edge" вычислены в предположении, что базовая линия "alphabetic" - это доминантная базовая линия/dominant-baseline. Базовая линия "central" на этом рисунке отсутствует, но она находится на половине расстояния между базовыми линиями "text-before-edge" и "text-after-edge", рядом с тем местом, где показана базовая линия "math".

Нижеприведённые идентификаторы базовых линий/baseline-identifiers используются в данной спецификации. Некоторые их них определяются таблицей baseline-tables, содержащейся в шрифте, как описано в разделе [7.8.1 Шрифт и Данные Шрифта]. Другие вычисляются из других характеристик шрифта, как описано ниже. Определена ли она шрифтом или вычислена, полученная таблица baseline-table конструируется с позициями для каждой из указанных здесь базовых линий.

alphabetic

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

ideographic

Идентифицирует базовую линию, используемую идеографическими видами письма. По историческим соображениям, эта базовая линия находится внизу идеографического бокса EM, а не в его центре. См. базовую линию "central". Идеографические виды письма включают китайское, японское, корейское и вьетнамское письмо Chu Nom.

hanging

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

mathematical

Идентифицирует базовую линию, используемую математическими символами.

central

Идентифицирует вычисленную базовую линию, которая находится в центре бокса EM. Эта базовая линия лежит посередине между базовыми линиями text-before-edge и text-after-edge.

ПРИМЕЧАНИЕ:

Для идеографических шрифтов эта базовая линия часто используется при выравнивании глифов; она является альтернативой идеографической базовой линии.

middle

Идентифицирует базовую линию, которая смещена от алфавитной базовой линии в направлении смещения/shift-direction на 1/2 значения характеристики шрифта x-height. Позиция этой базовой линии может быть получена из данных шрифта или, для шрифтов, имеющих характеристики шрифта для "x-height", она может быть вычислена с использованием 1/2 "x-height". При отсутствии какой-либо части этой информации, позиция базовой линии может быть приближена базовой линией "central".

text-before-edge

Идентифицирует край before-edge бокса EM. Позиция этой базовой линии может быть специфицирована в таблице baseline-table или может быть вычислена.

ПРИМЕЧАНИЕ:

Нормальная позиция этой базовой линии - около или над асцендерами/ascenders, но сюда могут не включаться все акценты над глифом. Для этих шрифтов используется значение характеристики шрифта "ascent". Для идеографических шрифтов позиция этой базовой линии нормально - 1 EM в направлении shift-direction от базовой линии "ideographic". Однако некоторые идеографические шрифты имеют уменьшенную ширину в направлении inline-progression-direction, что разрешает более компактные установки. Если такой шрифт, разработанный только для вертикальных режимов письма, используется в горизонтальном режиме письма, базовая линия "text-before-edge" может оказаться меньше чем на 1 EM от края text-after-edge.

text-after-edge

Идентифицирует край after-edge бокса EM. Позиция этой базовой линии может быть специфицирована в таблице базовых линий/baseline-table или вычислена.

ПРИМЕЧАНИЕ:

Для шрифтов с десцендерами/descenders нормальная позиция этой базовой линии - около или снизу от десцендеров. Для этих шрифтов используется значение характеристики шрифта "descent". Для идеографических шрифтов нормальная позиция этой базовой линии - на базовой линии "ideographic".

Дополнительно имеются две вычисляемые базовые линии, которые определены только для строчных областей. Для каждой строчной области/line-area имеются доминантная базовая линия/dominant-baseline, таблица базовых линий/baseline-table и размер шрифта/font-size таблицы базовых линий, все от ближайшего ОФ-предка, который содержит полностью всю строку. Базовые линии "before-edge" и "after-edge" определяются так.

before-edge

Смещение базовой линии "before-edge" строки от dominant-baseline строки определяется путём игнорирования всех инлайн-областей, чья базовая линия выравнивания/alignment-baseline - "before-edge" или "after-edge". Для "before-edge" расширения измеряются от dominant-baseline в направлении к верху/top области reference-area. Верх области reference-area определяется её ориентацией reference-orientation.
Смещение базовой линии "before-edge" устанавливается на максимальное удаление от краёв "before-edges" прямоугольников размещения/allocation-rectangles оставшихся областей.
Если инлайн-области в строчной области выровнены по краю "before-edge" или "after-edge", тогда используется смещение базовой линии "text-before-edge" строки как смещение базовой линии "before-edge" строки.

after-edge

Смещение базовой линии "after-edge" строки от dominant-baseline строки определяется путём игнорирования всех инлайн-областей, чья базовая линия выравнивания - after-edge.
Для "after-edge" расширения измеряются от dominant-baseline в направлении к низу/bottom области reference-area. Верх области reference-area определяется её ориентацией reference-orientation.
Смещение базовой линии "after-edge" устанавливается в отрицательное значение максимума
(1) от максимального расширения краёв "after-edges" прямоугольников размещения/allocation-rectangles оставшихся областей и
(2) от максимальной высоты прямоугольников размещения областей, которые игнорируются, минус смещение базовой линии "before-edge" строки.

ПРИМЕЧАНИЕ:

Если все инлайн-области в строчной области выровнены к "after-edge", тогда спецификация для "before-edge" установит базовую линию "before-edge" совпадающей с "text-before-baseline" строки. Тогда вышеуказанный вариант (2) будет определять смещение к базовой линии "after-edge". В этом случае прямоугольник размещения одной из областей будет расширен от базовой линии "before-edge" до базовой линии "after-edge".

ПРИМЕЧАНИЕ:

Вышеприведённые спецификации для "before-edge" и "after-edge" имеют следующие три свойства:
(1) прямоугольники размещения всех областей находятся ниже "before-edge",
(2) прямоугольники размещения всех областей находятся выше "after-edge" и
(3) расстояние между "before-edge" и "after-edge" не может быть уменьшено без нарушения (1) или (2). Специфицированное размещение "before-edge" и "after-edge"  - не единственный способ, которым могут быть выполнены (1)-(3), но это единственный способ, которым они могут быть выполнены с наименьшим смещением к "before-edge".

Примеры, показывающие выравнивание "before-edge" и "after-edge":

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


Прямоугольники со строками стрелок это изображения, имеющие свой установленный ранее размер. Прямоугольники без стрелок представляют изображения, получающие выравнивание по умолчанию: по доминантной базовой линии/dominant baseline. Выравнивание других прямоугольников выполняется по самой первой точке от головы стрелки (которая находится в середине, если имеются два острия). Примеры 1 и 2 показывают выравнивание "before-edge", определяемое самым высоким не-"before-edge" выровненным объектом: в примере 1 это выровненное по умолчанию прямоугольное изображение без острия, а в примере 2 это прямоугольник со стрелкой с двойным остриём.
Примеры 3 и 4 показывают выравнивание по умолчанию для "text-before-edge", где все области имеют выравнивание "before-edge" или "after-edge". В примере 3 изображение с выравниванием "before-edge" имеет более высокий компонент, чем изображение с выравниванием "after-edge". В примере 4 самым высоким изображением является набор с выравниванием "after-edge". Пример 5 повторяет пример 2 с выравниванием большего изображения "after-edge".


Имеются также 4 базовые линии, определённые только для горизонтальных режимов письма.

top

Это та же базовая линия, что и "before-edge" в горизонтальном режиме письма. В вертикальном режиме является неопределённой/undefined.

text-top

Это та же базовая линия, что и "text-before-edge" в горизонтальном режиме письма. В вертикальном режиме является неопределённой/undefined.

bottom

Это та же базовая линия, что и "after-edge" в горизонтальном режиме письма. В вертикальном режиме является неопределённой/undefined.

text-bottom

Это та же базовая линия, что и "text-after-edge" в горизонтальном режиме письма. В вертикальном режиме является неопределённой/undefined.

Выравнивание ОФ относительно его предка определяется тремя объектами: масштабируемой таблицей базовых линий/scaled-baseline-table предка и базовой линией выравнивания/alignment-baseline и точкой выравнивания/alignment-point выравниваемого ОФ. Перед выравниванием таблица scaled-baseline-table предка может быть смещена. Спецификации свойств далее предоставляют информацию, необходимую для выравнивания родительских и дочерних ОФ.

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

Основным свойством выравнивания является свойство "dominant-baseline". Оно имеет составное значение из трёх компонентов. Компонент dominant-baseline-identifier это базовая линия выравнивания по умолчанию, используемая при выравнивании двух инлайн-областей. Компонент baseline-table специфицирует позиции базовых линий в координатах пространства дизайна шрифта. (См. [7.8.1 Шрифт и Данные Шрифта].)
Работа компонента baseline-table слегка напоминает музыкальный нотоносец; он определяет особые точки в направлении block-progression-direction, по которым глифы и инлайн-ОФ могут выравниваться. Компонент font-size в таблице baseline-table предоставляет фактор масштабирования для baseline-table.

Для удобства, в спецификации идентификатор базовой линии, идентифицируемый компонентом dominant-baseline-identifier свойства "dominant-baseline", называется иногда "dominant baseline" (нарушая терминологию).

Простой пример выравнивания показан на следующем рисунке. Здесь представлены два ОФ, один внутри другого. Эти инлайн-ОФ являются содержимым строки в блоке, где установлен режим письма "lr-tb" и шрифт "Helvetica". Структура этого примера такова:

<fo:inline>Apex <fo:inline>Top</fo:inline></fo:inline>

Поскольку никакие свойства не специфицированы, применяются начальные значения. Так как используется горизонтальный режим письма, идентификатор dominant-baseline-identifier установлен в "alphabetic", и таблица baseline-table берётся из номинального шрифта/nominal-font для блока, в котором строка появляется, в данном случае это Helvetica.

На рисунке позиции базовых линий относительно текущего размера шрифта показаны красными линиями. Эти линии имеют сокращённые наименования базовых линий (например, TBE для "text-before-edge"). Базовая линия, идентифицируемая идентификатором dominant-baseline-identifier (A), изображена голубым цветом. Между линиями "нотоносца" имеется разрыв, чтобы отдельно показать внутренний инлайн-ОФ. Для данного примера это не важно, но это отличие станет важным в последующих примерах.

Свойство "alignment-baseline" это основной "элемент", управляющий позиционированием внутреннего ОФ относительно его родителя. Для всех ОФ, кроме fo:character, начальное значение свойства "alignment-baseline" равно "baseline". Это выравнивает dominant-baseline внутреннего инлайн-ОФ по доминантной базовой линии внешнего инлайн-ОФ. Это показано голубой линией, соединяющей два раздельных "нотоносца" (A).

Глифы, определяемые объектом fo:characters, находящиеся в содержимом этих двух ОФ, выравниваются на базе письма, к которому глифы принадлежат. Поскольку в этом примере имеются только латинские глифы, они выровнены по базовой линии "alphabetic".

This figure shows the words 'Apex' and 'Top' next to each other, with baselines shown (from top to bottom: test-before-edge, hanging, math, middle, alphabetic, ideographic and text-after-edge). The two words are aligned on the alphabetic baseline.

Внутренний инлайн-ОФ, содержащий латинские символы, выровнен по внешнему инлайн-ОФ, также содержащему символы латиницы.

На следующем рисунке содержимое внутреннего инлайн-ОФ - это Gurmukhi, письмо языка Punjabi. Силлабические символы Gurmukhi читаются как "guru". Они символизируются не значениями Unicode, а размещением латинской транслитерации шрифтом italic. Структура примера станет такой:

<fo:inline>Apex <fo:inline>guru</fo:inline></fo:inline>

Единственное изменение по сравнению с предыдущим примером состоит в том, что глифы письма Gurmukhi выровнены по базовой линии "hanging" внутреннего инлайн-ОФ. Выравнивание самого этого ОФ относительно внешнего инлайн-ОФ не изменилось.

The words 'Apex' and 'guru' (in Gumurkhi script) next to each other, with baselines shown. The two words are aligned on the alphabetic baseline.

Внутренний инлайн-ОФ, содержащий символы Gurmukhi, выровнен по внешнему инлайн-ОФ, содержащему латинские символы.

На следующем рисунке фрагменты текста из предыдущих примеров составляют содержимое внешнего инлайн-ОФ. Внутренний инлайн-ОФ имеет, однако, изменённый размер шрифта. Структура такова:

<fo:inline>Apguru
  <fo:inline font-size='.75em'>
    Exji
  </fo:inline>
</fo:inline>

В этом примере выравнивание внутреннего инлай-ОФ не изменяется, так же как и выравнивание меньших глифов внутри внутреннего инлайн-ОФ. Латинские символы всё ещё выровнены по базовой линии "alphabetic", а глифы Gurmukhi, которые произносятся "ji", выровнены по базовой линии "hanging". Отметьте также, что простое изменение свойства "font-size" не изменило действующую таблицу baseline-table во внутреннем инлайн-ОФ.

The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'ji' have a reduced font size. While 'Ex' is still aligned on the alphabetic baseline, 'ji' is aligned on the hanging baseline.

Внутренний инлайн-ОФ имеет уменьшенный размер шрифта/font-size.

Следующий рисунок эквивалентен предыдущему, только вместо символов Gurmukhi помещены идеографические символы. Они выровнены по базовой линии "ideographic".

Two Roman glyphs followed by an ideogram, followed by two other Roman glyphs and another ideogram (both have a smaller font size). All roman glyphs are aligned on the alphabetic baseline and the ideograms are aligned on the ideographic baseline.

Предыдущий рисунок с идеографическими глифами вместо глифов Gurmukhi. Боксы EM показаны у идеограмм для показа выравнивания этих глифов.

Чтобы изменить масштабирование линий таблицы базовых линий, нужно использовать свойство "dominant-baseline" внутреннего инлайн-ОФ. Значение "reset-size" вызывает переустановку размера шрифта таблицы baseline-table на размер шрифта ОФ, в котором свойство "dominant-baseline" появилось. Следующий пример показывает его действие, используя структуру:

<fo:inline>Apguru
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'>
     Exji
  </fo:inline>
</fo:inline>

Выравнивание внутреннего инлайн-ОФ относительно внешнего инлайн-ОФ всё ещё определяется выравниванием доминантных базовых линий. Но таблица базовых линий внутреннего инлайн-ОФ перемасштабируется по размеру шрифта внутреннего инлайн-ОФ. С этой точки меньшие глифы выравниваются один относительно другого.

The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'Ji' have a reduced font-size. The set of baselines for the last two is scaled down. The alphabetic baselines of both baseline sets are aligned.

Таблица baseline-table внутреннего инлайн-ОФ изменила размер, чтобы соответствовать размеру шрифта внутреннего инлайн-ОФ.

Но что, если важнее будет выровнять малые глифы Gurmukhi по большим глифам Gurmukhi, а не выравнивать по латинским глифам. Есть как минимум два способа добиться этого. Структура:

<fo:inline dominant-baseline='hanging'>Apguru
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'>
     Exji
  </fo:inline>
</fo:inline>

показана на следующем рисунке. Базовая линия "hanging" становится доминантной базовой линией, и начальное значение свойства "alignment-baseline" вызывает (вновь) выравнивание доминантных базовых линий "hanging" так, как это показано соединением голубых базовых линий.

The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'Ji' have a reduced font-size. The set of baselines for the last two is scaled down. The hanging baselines of both baseline sets are aligned.

Изменение доминантной базовой линии на "hanging" вызывает выравнивание внутреннего инлайн-ОФ по базовой линии "hanging" родителя.

Можно добиться того же эффекта и без изменения доминантной базовой линии. Вместо этого достаточно будет явно специфицировать, что внутренний инлайн-ОФ выровнен по своей базовой линии "hanging". Это делается так:

<fo:inline>Apguru
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'
             alignment-baseline='hanging'>
     Exji
  </fo:inline>
</fo:inline>

Единственное изменение, которое этот подход выполнит на предыдущем рисунке, состоит в том, что цвет базовой линии "hanging" будет красным, а базовая линия "alphabetic" (голубая) сохранится как доминантная базовая линия. Эта базовая линия во внутреннем инлайн-ОФ не будет выровнена (и не выровнена на вышеприведённом рисунке) по базовой линии "alphabetic" во внешнем инлай-ОФ.

Третье свойство выравнивания базовой линии - "baseline-shift". Подобно свойствам, отличным от свойства "dominant-baseline", данное свойство не изменяет таблицу baseline-table или размер шрифта таблицы baseline-table. Оно смещает всю таблицу базовых линий родительского ОФ так, что, если внутренний инлайн-ОФ выровнен по одной из базовых линий родителя, позиция внутреннего инлайн-ОФ сдвигается. Это показано на следующем рисунке. Структура, создающая этот рисунок, такова:

<fo:inline>Ap
  <fo:inline baseline-shift='super'>1ji</fo:inline>
</fo:inline>

Поскольку полный набор линий таблицы baseline-table сдвигается в позицию надиндекса, не имеет значения, по какой базовой линии выровнены глифы в надиндексе. Европейская цифра "1" выровнена по базовой линии "alphabetic", а силлаб Gurmukhi "ji" выровнен по базовой линии "hanging".

The words 'Apex', '1' and 'ji' (Gumurkhi script) in a row. The last two are super-scripts: the set of baselines for those is offset upwards from the original baseline set by a distance called 'baseline-shift'.

Использование "baseline-shift" для надиндекса (или подиндекса).

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

<fo:inline>Ap
  <fo:inline font-size='.75em'
             baseline-shift='super'>
    1ji
  </fo:inline>
</fo:inline>

Поскольку размер шрифта надиндекса (или подиндекса) обычно меняется, это будет один из случаев, когда изменение размера шрифта не вызывает переустановки размера шрифта таблицы baseline-table, если свойство "dominant-baseline" имеет начальное значение. После перемасштабирования выравнивание по умолчанию для доминантной базовой линии позиционирует инлайн-ОФ для надиндекса на позицию доминантной базовой линии в смещённой таблице baseline-table родительского ОФ.

The words 'Apex', '1' and 'ji' (Gumurkhi script) in a row. The last two are super-scripts and they have a reduced font size: the set of baselines for them is offset upwards from the original baseline set by a distance called 'baseline-shift', and scaled down around the alphabetic baseline.

Уменьшение размера шрифта надиндекса автоматически переустанавливает размер таблицы базовых линий/baseline-table так, что смешанные языки в надиндексе остаются взаимно выровненными.

Четвёртое свойство выравнивания - "alignment-adjust". Это свойство в основном используется для объектов, таких как графика, которые не принадлежат к определённому виду письма и не имеют предопределённой точки выравнивания. Свойство "alignment-adjust" позволяет авторам назначать место, у края start-edge объекта, где находится точка выравнивания для этого объекта.


7.13.1 "alignment-adjust"

Определение XSL:

Значение: auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length> | inherit
Начальное: auto
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: см. описание
Носитель: визуальный

Свойство "alignment-adjust" даёт более точное выравнивание областей, генерируемых объектами форматирования, особенно для тех объектов, таких как графика, которые не имеют таблицы baseline-table, или если нужная базовая линия отсутствует в их таблице базовых линий. С помощью свойства "alignment-adjust" позиция базовой линии, идентифицируемой свойством "alignment-baseline", может быть определена явно.

Значения этого свойства имеют следующий смысл:

auto

Точка выравнивания/alignment-point для глифа это пересечение края start-edge прямоугольника размещения глиф-области и позиции точки выравнивания из шрифта в направлении block-progression-direction, как специфицировано в разделе [7.8.1 Шрифт и Данные Шрифта]. Для других инлайн-областей точка alignment-point - это пересечение start-edge прямоугольника размещения и базовой линии, идентифицируемой свойством "alignment-baseline", если эта базовая линия существует в таблице baseline-table для доминантной базовой линии для данной инлайн-области. Если идентификатор baseline-identifier не существует в таблице baseline-table для глиф- или другой инлайн-области, то пользовательский агент (ПА) может либо использовать эвристические методы для определения того места, где эта отсутствующая базовая линия могла бы быть, либо может использовать доминантную базовую линию как вариант на крайний случай. Для областей, генерируемых объектами fo:external-graphic или fo:instream-foreign-object, точка выравнивания находится на пересечении start-edge и after-edge прямоугольника размещения данной области.

baseline

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и доминантной базовой линии данной области.

before-edge

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "before-edge" данной области.

text-before-edge

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "text-before-edge" данной области.

central

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "central" данной области.

middle

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "middle" данной области.

after-edge

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "after-edge" данной области.

text-after-edge

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "text-after-edge" данной области.

ideographic

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "ideographic" данной области.

alphabetic

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "alphabetic" данной области.

hanging

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "hanging" данной области.

mathematical

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "mathematical" данной области.

top

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "top" данной области, если действует горизонтальный режим письма. Иначе используется dominant-baseline.

bottom

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "bottom" данной области, если действует горизонтальный режим письма. Иначе используется dominant-baseline.

text-top

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "text-top" данной области, если действует горизонтальный режим письма. Иначе используется dominant-baseline.

text-bottom

Точка выравнивания находится на пересечении start-edge прямоугольника размещения и базовой линии "text-bottom" данной области, если действует горизонтальный режим письма. Иначе используется dominant-baseline.

<percentage>

Вычисленное значение данного свойства - это проценты, умноженные на вычисленную высоту/"height" области, если область генерируется объектами fo:external-graphic или fo:instream-foreign-object, или на величину "font-size", если область генерируется объектом fo:character, и на "line-height" - в ином случае. Точка выравнивания находится на start-edge прямоугольника размещения выравниваемой области. Её позиция вдоль start-edge относительно пересечения dominant-baseline и start-edge смещена на вычисленное значение. Смещение противоположно shift-direction, если это значение положительное, и производится в направлении shift-direction, если значение отрицательное). Значение "0%" делает линию dominant-точкой выравнивания.

<length>

Точка выравнивания находится на start-edge прямоугольника размещения выравниваемой области. Её позиция вдоль start-edge относительно пересечения dominant-baseline и start-edge смещена на значение <length>. Смещение противоположно shift-direction, если это значение положительное, и производится в направлении shift-direction, если значение отрицательное). Значение "0cm" делает линию dominant-точкой выравнивания.

Реализации обязаны поддерживать не менее одного значения "alignment-adjust" из определённых в данных Рекомендациях.


7.13.2 "alignment-baseline"

Определение XSL:

Значение: auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit
Начальное: auto
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Свойство специфицирует, как объект выравнивается относительно родителя. То есть по какой из базовых линий родителя точка alignment-point данного объекта выравнивается. Свойство alignment-adjust специфицирует, как определяется точка выравнивания. По умолчанию - на базовой линии с тем же именем, что и вычисленное значение свойства alignment-baseline. То есть позиция точки выравнивания "ideographic" в направлении block-progression-direction это позиция базовой линии "ideographic" в таблице baseline-table выравниваемого объекта.

Значения имеют следующий смысл:

auto

Вычисленное значение зависит от вида объекта, на котором оно используется. Для fo:character значением будет dominant-baseline письма, к которому принадлежит символ. Если значение свойства "script" родительского ОФ отлично от "auto", тогда используется базовая линия для данного вида письма; иначе используется dominant-baseline родителя. Для всех других объектов значение вычисляется как для значения "baseline".

baseline

Точка выравнивания выравниваемого объекта выравнивается с dominant-baseline родительской области.

before-edge

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "before-edge" родительской области.

text-before-edge

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "text-before-edge" родительской области.

central

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "central" родительской области.

middle

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "middle" родительской области.

after-edge

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "after-edge" родительской области.

text-after-edge

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "text-after-edge" родительской области.

ideographic

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "ideographic" родительской области.

alphabetic

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "alphabetic" родительской области.

hanging

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "hanging" родительской области.

mathematical

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "mathematical" родительской области.

top

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "top" родительской области, если режим письма - horizontal. Иначе используется dominant-baseline.

bottom

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "bottom" родительской области, если режим письма - horizontal. Иначе используется dominant-baseline.

text-top

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "text-top" родительской области, если режим письма - horizontal. Иначе используется dominant-baseline.

text-bottom

Точка выравнивания выравниваемого объекта выравнивается с базовой линией "text-bottom" родительской области, если режим письма - horizontal. Иначе используется dominant-baseline.

Реализации обязаны поддерживать не менее одного значения "alignment-baseline" из определённых в данных Рекомендациях.


7.13.3 "baseline-shift"

Определение XSL:

Значение: baseline | sub | super | <percentage> | <length> | inherit
Начальное: baseline
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: относительно "line-height" родительской области
Носитель: визуальный

Свойство "baseline-shift" позволяет изменять позицию линии dominant-baseline относительно dominant-baseline родительской области. Смещённый объект может быть над- или подиндексом (subscript/superscript). Внутри смещённого объекта смещается вся таблица baseline-table, а не только одна базовая линия. Величина смещения определяется информацией из родительской области, смещением над-/подиндекса от nominal-font/номинального шрифта родительской области, процентом "line-height" родительской области или абсолютным значением.

Если значение "baseline-shift" отлично от "0", тогда компонент font-size таблицы baseline-table свойства "dominant-baseline" пересчитывается для использования "font-size", применимого к ОФ, на котором специфицировано ненулевое свойство "baseline-shift".

Значения этого свойства имеют следующий смысл:

baseline

Смещения базовой линии нет; dominant-baseline остаётся в оригинальной позиции.

sub

Доминантная базовая линия/dominant-baseline смещается на позицию по умолчанию для подиндексов. Смещение позиции определяется с использованием данных шрифта для номинального шрифта. Поскольку в большинстве шрифтов позиция подиндекса нормально задаётся относительно базовой линии "alphabetic", пользовательский агент (ПА) может вычислять действующую позицию подиндексов для надиндексов, если какая-то другая базовая линия является доминантной. Рекомендуется вычисление путём вычитания разности позиций базовых линий доминантной "alphabetic" из позиции подиндекса. Результирующее смещение определяется умножением действующей позиции подиндекса на font-size доминантной таблицы базовых линий/dominant baseline-table. Если соответствующих данных шрифта нет, ПА может использовать эвристические методы для определения смещения.

super

Доминантная базовая линия/dominant-baseline смещается на позицию по умолчанию для надиндексов. Смещение позиции определяется с использованием данных шрифта для номинального шрифта. Поскольку в большинстве шрифтов позиция надиндекса нормально задаётся относительно базовой линии "alphabetic, ПА может вычислять действующую позицию надиндексов, если какая-то другая базовая линия является доминантной. Рекомендуется вычисление путём вычитания разности позиций базовых линий доминантной "alphabetic" из позиции надиндекса. Результирующее смещение определяется умножением действующей позиции надиндекса на font-size доминантной таблицы базовых линий/dominant baseline-table. Если соответствующих данных шрифта нет, ПА может использовать эвристические методы для определения смещения.

<percentage>

Вычисленное значение данного свойства - это проценты, умноженные на вычисленную "line-height"/высоту строки родительской области. Линия dominant-baseline смещается в направлении shift-direction (положительное значение) или противоположно shift-direction (отрицательное значение) родительской области на вычисленное значение. Значение "0%" эквивалентно "baseline".

<length>

Линия dominant-baseline смещается в направлении shift-direction (положительное значение) или противоположно shift-direction (отрицательное значение) родительской области на значение <length>. Значение "0cm" эквивалентно "baseline".

ПРИМЕЧАНИЕ:

Хотя может показаться, что свойства "baseline-shift" и "alignment-adjust" выполняют одно и то же действие, имеется важное, хотя и, возможно, малозаметное отличие. Для "alignment-adjust" процентные значения относятся к "line-height" выравниваемой родительской области. Для "baseline-shift" процентные значения относятся к "line-height" родителя. Аналогично, имеются смещения "sub" и "super" родителя, которые используются для выравнивания смещённой базовой линии вместо смещений "sub" или "super" позиционируемых областей. Для уверенного позиционирования над- или подиндекса более точным будет использование родителя как ссылки вместо ОФ подиндекса, который может иметь "line-height", изменённую из-за изменений "font-size" в ОФ над- или подиндекса.

Использование свойства "alignment-adjust" больше подходит для позиционирования объектов, таких как графика, не имеющих внутренней текстуальной структуры.
Использование свойства "baseline-shift" предполагается для под- и надиндексов там, где позиционируемый объект может быть текстуальным объектом. Свойство baseline-shift предоставляет способ определения специфического смещения базовой линии, отличающегося от именованных смещений, которые определяются относительно dominant-baseline. Кроме того, наличие "baseline-shift" облегчает утилитам генерацию соответствующих свойств; многие программы форматирования уже имеют "представление" о смещении базовой линии.


7.13.4 "display-align"

Определение XSL:

Значение: auto | before | center | after | inherit
Начальное: auto
Применяется: к  fo:table-cell, fo:region-body, fo:region-before, fo:region-after, fo:region-start, fo:region-end, fo:block-container, fo:inline-container, fo:external-graphic, fo:instream-foreign-object
Наследуется: да
Процентное: N/A
Носитель: визуальный

Это свойство специфицирует выравнивание, в направлении block-progression-direction, областей, которые являются потомками области reference-area.

Значения этого свойства имеют следующий смысл:

auto

Если свойство "relative-align" применяется к данному ОФ, используется свойство "relative-align". Если нет, значение рассматривается так, как если бы "before" было специфицировано.

before

before-edge прямоугольника размещения первой дочерней области прилегает к before-edge прямоугольника содержимого области reference-area.

center

Дочерние области размещаются так, что расстояние между before-edge прямоугольника размещения первой дочерней области и before-edge прямоугольника содержимого области reference-area такое же, как и расстояние между after-edge прямоугольника размещения последней дочерней области и after-edge прямоугольника содержимого области.

after

after-edge прямоугольника размещения последней дочерней области прилегает к after-edge прямоугольника содержимого области reference-area.


7.13.5 "dominant-baseline"

Определение XSL:

Значение: auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge | inherit
Начальное: auto
Применяется: ко всем инлайн-ОФ
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Свойство "dominant-baseline" используется для определения или переопределения scaled-baseline-table/масштабируемой таблицы базовых линий.
scaled-baseline-table это составное значение из 3 компонентов: идентификатора baseline-identifier для dominant-baseline, полученной таблицы baseline-table и font-size/размера шрифта таблицы baseline-table. Некоторые значения свойства переопределяют значения всех трёх компонентов; другие переустанавливают только размер шрифта таблицы baseline-table. Если начальное значение "auto" может привести к нежелательному результату, это свойство может использоваться для явной установки scaled-baseline-table.

ПРИМЕЧАНИЕ:

Получаемая baseline-table конструируется путём использования baseline-table в шрифте, который соответствует вычисленному значению "writing-mode".

Значения этого свойства имеют следующий смысл:

auto

Если это свойство появляется у ОФ блок-уровня, то вычисленное значение зависит от значения свойства "script". Есть два варианта. Если свойство "script" имеет значение "auto", тогда, если "writing-mode" - horizontal/горизонтальный, идентификатор базовой линии baseline-identifier для доминантной базовой линии установится в "alphabetic", иначе, если "writing-mode" - vertical, идентификатор базовой линии для доминантной базовой линии установится в "central". С другой стороны, если свойство "script" имеет значение, отличное от "auto", тогда значение свойства "script" используется для выбора baseline-identifier для доминантной базовой линии. Отображение из письма в baseline-identifier берётся из номинального шрифта. Получаемая таблица baseline-table конструируется с использованием таблицы baseline-table в номинальном шрифте, которая соотносится с baseline-identifier для доминантной базовой линии. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" данного ОФ.
Иначе, если это свойство имеется в ОФ не блок-уровня, тогда идентификатор baseline-identifier для доминантной базовой линии, получаемая таблица baseline-table и размер шрифта таблицы baseline-table остаются теми же, что у родительского ОФ. Если вычисленное значение "baseline-shift"/смещения базовой линии действительно смещает базовую линию, тогда размер шрифта таблицы baseline-table устанавливается в значение свойства "font-size" ОФ, в котором появляется свойство "dominant-baseline", иначе размер шрифта таблицы baseline-table остаётся тем же, что у родительского ОФ. Если родительского ОФ нет, получаемая таблица baseline-table конструируется так, как было указано выше для ОФ блок-уровня.

use-script

Свойство "script" используется для выбора идентификатора базовой линии/baseline-identifier для доминантной базовой линии. Отображение из письма в baseline-identifier берётся из номинального шрифта. Получаемая таблица baseline-table конструируется с использованием таблицы baseline-table в номинальном шрифте, которая соотносится с baseline-identifier для доминантной базовой линии. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

no-change

dominant-baseline, baseline-table и размер шрифта/font-size таблицы baseline-table остаются теми же, что у родительского ОФ.

reset-size

dominant-baseline и baseline-table остаются теми же, но размер шрифта/font-size таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ. Это перемасштабирует таблицу baseline-table для текущего "font-size".

ideographic

Идентификатор baseline-identifier для dominant-baseline установлен в "ideographic". Получаемая таблица baseline-table конструируется с использованием "ideographic"/идеографической таблицы baseline-table в номинальном шрифте. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

alphabetic

Идентификатор baseline-identifier для dominant-baseline установлен в "alphabetic". Получаемая таблица baseline-table конструируется с использованием "alphabetic"/алфавитной таблицы baseline-table в номинальном шрифте. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

hanging

Идентификатор baseline-identifier для dominant-baseline установлен в "hanging". Получаемая таблица baseline-table конструируется с использованием "hanging"/"висячей" таблицы baseline-table в номинальном шрифте. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

mathematical

Идентификатор baseline-identifier для dominant-baseline установлен в "mathematical". Получаемая таблица baseline-table конструируется с использованием "mathematical" baseline-table в номинальном шрифте. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

central

Идентификатор baseline-identifier для dominant-baseline установлен в "central". Получаемая таблица baseline-table конструируется из определённых в таблице baseline-table базовых линий в номинальном шрифте. Этот шрифт таблицы baseline-table выбирается с использованием следующего порядка приоритета имён таблиц baseline-table: "ideographic", "alphabetic", "hanging", "mathematical". Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

middle

Идентификатор baseline-identifier для dominant-baseline установлен в "middle". Получаемая таблица baseline-table конструируется из определённых в таблице baseline-table базовых линий в номинальном шрифте. Этот шрифт таблицы baseline-table выбирается с использованием следующего порядка приоритета имён таблицы baseline-table: "alphabetic", "ideographic", "hanging", "mathematical". Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

text-after-edge

Идентификатор baseline-identifier для dominant-baseline установлен в "text-after-edge". Получаемая таблица baseline-table конструируется из определённых в таблице baseline-table базовых линий в номинальном шрифте. То, какую таблицу baseline-table шрифта использовать из таблиц baseline-tables в номинальном шрифте, определяется реализацией. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

ПРИМЕЧАНИЕ:

Использование следующего порядка приоритетов имён таблицы baseline-table: "alphabetic", "ideographic", "hanging", "mathematical" - может оказаться резонной стратегией для определения того, какую таблицу baseline-table шрифта использовать.

text-before-edge

Идентификатор baseline-identifier для dominant-baseline установлен в "text-before-edge". Получаемая таблица baseline-table конструируется из определённых в таблице baseline-table базовых линий в номинальном шрифте. То, какую таблицу baseline-table шрифта использовать из таблиц baseline-tables в номинальном шрифте, определяется реализацией. Размер шрифта таблицы baseline-table изменяется на значение свойства "font-size" в данном ОФ.

ПРИМЕЧАНИЕ:

Использование следующего порядка приоритетов имён таблицы baseline-table: "alphabetic", "ideographic", "hanging", "mathematical" - может оказаться резонной стратегией для определения того, какую таблицу baseline-table шрифта использовать.

Если таблицы baseline-table в номинальном шрифте нет или если в baseline-table отсутствует вход для нужной базовой линии, ПА может использовать эвристические методы для определения позиции нужной базовой линии.

Реализации обязаны поддерживать не менее одного значения "dominant-baseline" из определённых в данных Рекомендациях.


7.13.6 "relative-align"

Определение XSL:

Значение: before | baseline | inherit
Начальное: before
Применяется: к  fo:list-item, fo:table-cell
Наследуется: да
Процентное: N/A
Носитель: визуальный

Это свойство специфицирует выравнивание, в направлении block-progression-direction, между двумя областями или более. Если свойство "display-align" применяется к объекту и имеет значение, отличное от "auto", то это свойство игнорируется.

Значения этого свойства имеют следующий смысл:

before

Для fo:table-cell: для каждого ряда первая область-потомок всех ячеек ряда, которая начинается в этом ряду и имеет это значение, размещается так, что before-edge прямоугольника содержимого помещается на том же расстоянии от решётки ряда. Кроме того, как минимум одна из этих первых областей-потомков этих ячеек размещается с before-edge своего прямоугольника размещения, прилегающим к before-edge прямоугольника содержимого ячейки таблицы/table-cell.

Для fo:list-item - край before-edge потомка первой области, генерируемого объектом fo:list-item-label, размещается прилегающим к before-edge области, генерируемой объектом fo:list-item.
Аналогично before-edge потомка первой области, генерируемого объектом fo:list-item-body, размещается прилегающим к before-edge области, генерируемой объектом fo:list-item.

baseline

Для fo:table-cell: для каждого ряда первая область-потомок всех ячеек ряда, которая начинается в этом ряду и имеет это значение, размещается так, что dominant-baseline, как специфицировано в fo:table-row, первой строки помещается на том же расстоянии от решётки ряда. Кроме того, как минимум один из первых потомков областей этих ячеек размещается с before-edge своего прямоугольника размещения, прилегающим к before-edge прямоугольника содержимого ячейки таблицы.

ПРИМЕЧАНИЕ:

То есть, для всех допустимых ячеек базовая линия всех первых строк выравнивается и помещается на минимальном расстоянии книзу в направлении block-progression-direction. Нужно заметить, что края start-edges прямоугольников содержимого ячеек не нуждаются в выравнивании.

Для fo:list-item расстояние между базовой линией первой строчной области первого потомка области, генерируемого объектом fo:list-item-label, то же самое, что и расстояние между первой базовой линией первой строчной области первого потомка области, генерируемого объектом fo:list-item-body. Кроме того, как минимум один из первых потомков областей этих ячеек размещается с before-edge своего прямоугольника размещения, прилегающим к before-edge прямоугольника содержимого элемента списка/list-item.



7.14 Свойства Размеров Области

7.14.1 "block-progression-dimension"

Эквивалент Свойства CSS2, относящийся к режиму письма.

Значение: auto | <length> | <percentage> | <length-range> | inherit
Начальное: auto
Применяется: см. описание
Наследуется: нет
Процентное: см. описание
Носитель: визуальный

Это свойство специфицирует размер block-progression-dimension прямоугольника размещения для каждой области, генерируемой этим ОФ. Пользователь может указать явный размер (<length> или <percentage>) или диапазон <length-range>, разрешая форматировщику уточнять размер.

Это свойство не применяется, когда свойство "line-height" применяется с теми же размерами областей, генерируемых данным ОФ.

Значения имеют следующий смысл:

auto

Это свойство не вводит никаких ограничений. Размер block-progression-dimension определяется форматировщиком с учётом всех других ограничений.

Специфицирование block-progression-dimension="auto" установит:

  • block-progression-dimension.minimum="auto"

  • block-progression-dimension.optimum="auto"

  • block-progression-dimension.maximum="auto"

<length>

Специфицирует фиксированный размер block-progression-dimension.

Специфицирование block-progression-dimension=<length> установит:

  • block-progression-dimension.minimum=<length>

  • block-progression-dimension.optimum=<length>

  • block-progression-dimension.maximum=<length>

<percentage>

Специфицирует размер block-progression-dimension в процентах. Проценты высчитываются относительно соответствующего размера ближайшей области-предка, которая была сгенерирована ОФ блок-уровня. Если этот размер не специфицирован явно (т.е. зависит от размера block-progression-dimension содержимого), значение интерпретируется как "auto".

Специфицирование block-progression-dimension=<percentage> установит:

  • block-progression-dimension.minimum=<percentage>

  • block-progression-dimension.optimum=<percentage>

  • block-progression-dimension.maximum=<percentage>

<length-range>

Специфицирует размер как диапазон размеров/length-range, состоящий из:

  • block-progression-dimension.optimum

    Это предпочтительный размер создаваемой области; если minimum и maximum идентичны, область имеет фиксированный размер. Если они, соответственно, меньше и больше, чем optimum, тогда размер области может быть уточнён в пределах этого диапазона.

    Значение "auto" может быть специфицировано для optimum, обозначая, что предпочтительного размера нет, но что должен использоваться собственный или разрешённый размер области. Если при этом minimum и/или maximum - не auto, тогда размер должен быть ограничен в пределах этих границ.

  • block-progression-dimension.minimum

  • block-progression-dimension.maximum

    Значение "auto" может быть специфицировано для block-progression-dimension.maximum. Это означает, что граница абсолютного maximum отсутствует, а объект может иметь свой внутренний/имеющийся/intrinsic размер.

Отрицательные значения для block-progression-dimension.minimum, block-progression-dimension.optimum и block-progression-dimension.maximum не допускаются и рассматриваются так, будто специфицировано "0pt".

Если значение block-progression-dimension.optimum равно "auto" и вычисленное значение block-progression-dimension.minimum больше, чем вычисленное значение block-progression-dimension.maximum, то block-progression-dimension.minimum рассматривается так, будто было специфицировано значение block-progression-dimension.maximum.


7.14.2 "content-height"

Определение XSL:

Значение: auto | scale-to-fit | <length> | <percentage> | inherit
Начальное: auto
Применяется: к  fo:external-graphic, fo:instream-foreign-object
Наследуется: нет
Процентное: относительно имеющейся высоты
Носитель: визуальный

Значения имеют следующий смысл:

auto

Высота содержимого/content-height должна быть имеющейся высотой содержимого/intrinsic content-height.

scale-to-fit

Величина высоты содержимого равна высоте порта просмотра. Это значение предполагает наличие определённого фактора масштабирования, применённого к содержимому.

<length>

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

<percentage>

Проценты, представляющие фактор масштабирования для высоты содержимого/content-height.

Специфицирует content-height некоторого объекта (например, внешней графики). Если значение - процентное, то значением этого свойства будет процент, применённый к имеющейся высоте.


7.14.3 "content-width"

Определение XSL:

Значение: auto | scale-to-fit | <length> | <percentage> | inherit
Начальное: auto
Применяется: к  fo:external-graphic, fo:instream-foreign-object
Наследуется: нет
Процентное: относительно имеющейся ширины
Носитель: визуальный

Значения имеют следующий смысл:

auto

Ширина содержимого/content-width должна быть имеющейся/intrinsic content-width.

scale-to-fit

Величина ширины содержимого равна ширине порта просмотра. Это значение предполагает наличие определённого фактора масштабирования, применённого к содержимому.

<length>

Абсолютный размер для content-width. Это значение предполагает наличие определённого фактора масштабирования, применённого к содержимому.

<percentage>

Проценты, представляющие фактор масштабирования для content-width.

Специфицирует content-width некоторого объекта (например, внешней графики). Если значение - процентное, то значением этого свойства будет процент, применённый к имеющейся ширине/intrinsic width.


7.14.4 "height"

Определение CSS2:

Значение: <length> | <percentage> | auto | inherit
Начальное: auto
Применяется: ко всем элементам, кроме незамещаемых инлайн-элементов, столбцов таблиц и групп столбцов
Наследуется: нет
Процентное: см. описание
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-height.

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

Это свойство не применяется к незамещаемым элементам инлайн-уровня. Высота боксов незамещаемых инлайн-элементов задаётся значением (возможно, унаследованным) 'line-height'.

Значения имеют следующий смысл:

auto

Высота зависит от значений других свойств.

<length>

Специфицируется фиксированная высота.

<percentage>

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

Отрицательные значения для 'height' не допускаются.

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].

Дискуссию о свойстве "height" в таблицах см. на: http://www.w3.org/TR/REC-CSS2/tables.html


7.14.5 "inline-progression-dimension"

Эквивалент Свойства CSS2, относящийся к Режиму Письма.

Значение: auto | <length> | <percentage> | <length-range> | inherit
Начальное: auto
Применяется: см. описание
Наследуется: нет
Процентное: см. описание
Носитель: визуальный

Данное свойство специфицирует размер inline-progression-dimension прямоугольника содержимого для каждой области, генерируемой данным ОФ. Пользователь может явно специфицировать размер (<length> или <percentage>) или диапазон <length-range>, позволяющий форматировщику уточнять размер.

Это свойство не применяется, если свойство "line-height" применено к тем же самым размерам области, генерируемой данным ОФ.

Значения имеют следующий смысл:

auto

Данное свойство не устанавливает никаких ограничений. Размер inline-progression-dimension определяется форматировщиком, учитывающим все прочие ограничения.

Специфицирование inline-progression-dimension=auto установит:

  • inline-progression-dimension.minimum=auto

  • inline-progression-dimension.optimum=auto

  • inline-progression-dimension.maximum=auto

<length>

Специфицирует фиксированный размер inline-progression-dimension.

Специфицирование inline-progression-dimension=<length> установит:

  • inline-progression-dimension.minimum=<length>

  • inline-progression-dimension.optimum=<length>

  • inline-progression-dimension.maximum=<length>

<percentage>

Специфицирует процентное значение inline-progression-dimension. Проценты высчитываются относительно соответствующего размера ближайшей области-предка, которая была сгенерирована ОФ блок-уровня. Если этот размер не специфицирован явно (т.е. зависит от размера inline-progression-dimension содержимого), значение интерпретируется как "auto".

Специфицирование inline-progression-dimension=<percentage> установит:

  • inline-progression-dimension.minimum=<percentage>

  • inline-progression-dimension.optimum=<percentage>

  • inline-progression-dimension.maximum=<percentage>

<length-range>

Специфицирует размер как диапазон, состоящий из:

  • inline-progression-dimension.optimum

    • Это предпочтительный размер создаваемой области; если minimum и maximum идентичны, область имеет фиксированный размер. Если они, соответственно, меньше и больше, чем optimum, тогда размер области может быть уточнён в пределах этого диапазона.

      Значение "auto" может быть специфицировано для optimum, обозначая, что предпочтительного размера нет, но что должен использоваться собственный или разрешённый размер области. Если при этом minimum и/или maximum - не auto, тогда размер должен быть ограничен в пределах этих границ.

    • inline-progression-dimension.minimum

    • inline-progression-dimension.maximum

      Значение "auto" может быть специфицировано для inline-progression-dimension.maximum. Это означает, что граница абсолютного maximum отсутствует, а объект может иметь свой внутренний/имеющийся/intrinsic размер.

    Отрицательные значения для  inline-progression-dimension.minimum, inline-progression-dimension.optimum и inline-progression-dimension.maximum не допускаются и рассматриваются так, будто специфицировано "0pt".


7.14.6 "max-height"

Определение CSS2:

Значение: <length> | <percentage> | none | inherit
Начальное: 0pt
Применяется: ко всем элементам, исключая незамещаемые инлайн-элементы и элементы таблицы
Наследуется: нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-height.

Эти два свойства ["max-height" и "max-width"] позволяют авторам ограничивать высоту бокса определёнными рамками. Значения имеют следующий смысл:

none

(Только в "max-height") Ограничения высоты бокса нет.

<length>

Специфицирует фиксированный минимум или максимум вычисленной высоты.

<percentage>

Специфицирует проценты для определения вычисленного значения. Проценты вычисляются относительно высоты содержащего блока генерируемого бокса. Если высота содержащего блока не специфицирована явно (т.е. зависит от высоты содержимого), процентное значение интерпретируется как "auto".

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].


7.14.7 "max-width"

Определение CSS2:

Значение: <length> | <percentage> | none | inherit
Начальное: none
Применяется: ко всем элементам, исключая незамещаемые инлайн-элементы и элементы таблицы
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-width.

Два эти свойства ["max-height" и "max-width"] дают авторам возможность ограничивать ширину бокса определённым диапазоном. Значения имеют следующий смысл:

none

(Только в "max-width") Нет ограничений ширины бокса.

<length>

Специфицирует фиксированные minimum или maximum вычисленной ширины.

<percentage>

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

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].


7.14.8 "min-height"

Определение CSS2:

Значение: <length> | <percentage> | inherit
Начальное: 0pt
Применяется: ко всем элементам, исключая незамещаемые инлайн-элементы и элементы таблицы
Наследуется: нет
Процентное: относительно высоты содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-height.

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].


7.14.9 "min-width"

Определение CSS2:

Значение: <length> | <percentage> | inherit
Начальное: зависит от ПА
Применяется: ко всем элементам, исключая незамещаемые инлайн-элементы и элементы таблицы
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-width.

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].


7.14.10 "scaling"

Определение XSL:

Значение: uniform | non-uniform | inherit
Начальное: uniform
Применяется: к  fo:external-graphic, fo:instream-foreign-object
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

uniform

При масштабировании пропорции должны сохраняться.

non-uniform

При масштабировании пропорции не сохраняются.

Специфицирует, сохраняются или нет пропорции изначальных размеров.


7.14.11 "scaling-method"

Определение XSL:

Значение: auto | integer-pixels | resample-any-method | inherit
Начальное: auto
Применяется: к  fo:external-graphic, fo:instream-foreign-object
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Пользовательский агент (ПА) сам избирает пересэмплирование, целочисленное масштабирование или любой другой метод масштабирования.

integer-pixels

ПА должен масштабировать изображение так, чтобы каждый пиксел оригинала масштабировался до ближайшего целого числа пикселов устройства, что даёт в результате изображение меньших или тех же размеров, которые получены из свойств content-height, content-width и масштабирования/scaling.

resample-any-method

ПА должен пересэмплировать имеющееся изображение и дать в результате такое изображение, которое заполнит размеры, полученные из свойств content-height, content-width и scaling. ПА может использовать любой метод сэмплирования.

Это свойство используется для обозначения преимуществ при компромиссном масштабировании/установке размеров при форматировании растровой графики.

ПРИМЕЧАНИЕ:

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


7.14.12 "width"

Определение CSS2:

Значение: <length> | <percentage> | auto | inherit
Начальное: auto
Применяется: ко всем элементам, кроме незамещаемых инлайн-элементов, рядов таблиц и групп рядов
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-width.

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

Это свойство не применяется к незамещаемым элементам инлайн-уровня. Шириной боксов незамещаемых инлайн-элементов будет ширина содержимого внутри них (до какого-либо относительного смещения потомков). При повторном вызове эти инлайн-боксы всплывают в строчных боксах. Ширина строчных боксов задаётся их содержащим блоком, но может быть уменьшена существующими поплавками.

Ширина бокса замещающего элемента является присущей изначально/intrinsic и может масштабироваться ПАгентом, если значение этого свойства отлично от 'auto'.

Значения имеют следующий смысл:

auto

Ширина зависит от значений других свойств.

<length>

Специфицирует фиксированную ширину.

<percentage>

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

Отрицательные значения "width" не допускаются.

Модификации XSL определения CSS:

В XSL это свойство отображается в "inline-progression-dimension" или в "block-progression-dimension", базируясь на применяемых значениях свойств "writing-mode" и "reference-orientation". Детальная информация об отображении дана в разделе [5 Очистка/Разрешение Свойств].



7.15 Свойства Блока и Строки

7.15.1 "hyphenation-keep"

Определение XSL:

Значение: auto | column | page | inherit
Начальное: auto
Применяется: к  fo:block
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Нет ограничений. Слово может переноситься в конце любого региона.

column

Обе части слова, разделённого для переноса, должны находиться в одном столбце.

page

Обе части слова, разделённого для переноса, должны находиться на одной странице.

Управляет переносом, выполняемым на последней строке, вмещающейся в данную область reference-area.


7.15.2 "hyphenation-ladder-count"

Определение XSL:

Значение: no-limit | <number> | inherit
Начальное: no-limit
Применяется: к  fo:block
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

no-limit

Переносы выполняются на любом количестве последовательных строк.

<integer>

Целое число, большее или равное 1.

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


7.15.3 "last-line-end-indent"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 0pt
Применяется: к  fo:block
Наследуется: да
Процентное: относительно размера inline-progression-dimension ближайшей блок-области - предка, не являющейся строчной областью
Носитель: визуальный

Значения имеют следующий смысл:

<length>

"last-line-end-indent" специфицируется как размер/length.

<percentage>

"last-line-end-indent" специфицируется как процент от размера inline-progression-dimension ближайшей блок-области - предка.

Специфицирует отступ, применяемый к последней строчной области - потомку последней блок-области, генерируемой и возвращаемой объектом форматирования, и к любой строчной области, генерируемой ОФ, чьим последующим потомком является блок-область, которая не является строчной областью. Она добавляется у end-edge блока. Позитивные значения сдвигают край внутрь, отрицательные - наружу.


7.15.4 "line-height"

Определение CSS2:

Значение: normal | <length> | <number> | <percentage> | <space> | inherit
Начальное: normal
Применяется: ко всем элементам
Наследуется: да
Процентное: относительно размера шрифта самого элемента
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-line-height.

Значения имеют следующий смысл:

normal

Говорит ПАгенту - установить вычисленное значение в "приемлемое", базируясь на размере шрифта элемента. Значение имеет тот же смысл, что и <number>. Мы рекомендует вычисленное значение "normal" между 1.0 и 1.2.

<length>

Высота бокса устанавливается в эту величину. Отрицательные значения не допускаются.

<number>

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

<percentage>

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

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

Если это свойство установлено для инлайн-элемента, оно специфицирует точную высоту каждого бокса, генерируемого этим элементом. (За исключением замещаемых строчных элементов, где высота бокса задаётся свойством "height".)

Если элемент содержит текст, отображаемый более чем одним шрифтом, ПА должны определить значение "line-height" в соответствии со шрифтом наибольшего размера.

Вообще, там, где имеется только одно значение "line-height" для всех инлайн-боксов параграфа (и нет высоких изображений), вышесказанное гарантирует, что базовые линии последовательных строк точно будут вне "line-height". Это важно, если выравниваются столбцы текста с различными шрифтами, например, в таблице.

Заметьте, что замещаемые элементы имеют свойства "font-size" и "line-height", даже если они не используются непосредственно для определения высоты бокса. "font-size" используется, однако, для определения единиц "em" и "ex", а "line-height" выполняет роль свойства "vertical-align".

Модификации XSL определения CSS:

В XSL свойство "line-height" используется для определения уточнения half-leading.

XSL добавляет следующие значения:

<space>

Специфицирует минимальные, максимальные и оптимальные значения, обусловленность/conditionality и приоритет "line-height", используемые при определении half-leading.

Отрицательные значения для line-height.minimum, line-height.optimum и line-height.maximum не допускаются и интерпретируются как 0pt.

Установки line-height.conditionality можно использовать для управления half-leading(/полузаполнением?) над первой строкой или после последней строки, которая помещается в области reference-area.

Установки line-height.precedence можно использовать для управления слиянием half-leading с другими пространствами.

Если line-height специфицируется с использованием <length>, <percentage> или <number>, форматировщик должен будет конвертировать одно значение в спецификатор пространства/space-specifier с субполями, интерпретируемыми так:


7.15.5 "line-height-shift-adjustment"

Определение XSL:

Значение: consider-shifts | disregard-shifts | inherit
Начальное: consider-shifts
Применяется: к  fo:block
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

consider-shifts

При определении line-height включает уточнённые края top-edge и bottom-edge любых символов, имеющих смещение базовой линии/baseline-shift.

disregard-shifts

При определении line-height включает несмещённые края top-edge и bottom-edge любых символов, имеющих смещение базовой линии.

Это свойство используется для управления подгонкой высоты строки/line-height для содержимого, имеющего смещение базовой линии.

ПРИМЕЧАНИЕ:

Это свойство можно использовать для предотвращения нарушения заполнения строки/line-spacing под- и надиндексами.


7.15.6 "line-stacking-strategy"

Определение XSL:

Значение: line-height | font-height | max-height | inherit
Начальное: к  max-height
Применяется: fo:block
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

line-height

Использует прямоугольник per-inline-height-rectangle, как описано в разделе [4.5 Строчные Области].

ПРИМЕЧАНИЕ:

Совпадает с line-height и стратегией позиционирования CSS.

font-height

Использует прямоугольник nominal-requested-line-rectangle, как описано в разделе [4.5 Строчные Области].

max-height

Использует прямоугольник maximal-line-rectangle, как описано в разделе [4.5 Строчные Области].

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

Реализации обязаны поддерживать как минимум значения "max-height" и "font-height", определённые в этих Рекомендациях, и могут рассматривать "line-height" так, как если бы "max-height" было специфицировано.


7.15.7 "linefeed-treatment"

Определение XSL:

Значение: ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit
Начальное: treat-as-space
Применяется: см. описание
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

ignore

Специфицирует, что любой объект потока символов, чья кодовая точка Unicode равна U+000A, будет отброшен в процессе очистки.

preserve

Не специфицирует действий.

treat-as-space

Специфицирует, что любой объект потока символов, чья кодовая точка Unicode равна U+000A (linefeed) будет конвертирован в процессе очистки в объект потока символов, чья кодовая точка Unicode равна U+0020 (space).

treat-as-zero-width-space

Специфицирует, что любой объект потока символов, чья кодовая точка Unicode равна U+000A (linefeed) будет конвертирован в процессе очистки в объект потока символов, чья кодовая точка Unicode равна U+200B (zero width space).

ПРИМЕЧАНИЕ:

Стандарт Unicode рекомендует, чтобы zero width space (пробел нулевой ширины) рассматривался как верная точка разрыва строки/line-break и что, если два символа с zero width space между ними помещаются в той же строке, в которой они помещаются без символа пробела между ними, и что, если они размещаются на двух строках, никаких дополнительных глиф-областей, таких как дефисы, не создаётся в месте разрыва строки.

Свойство "linefeed-treatment" специфицирует работу с прогонами строк/linefeeds (объектами потока символов, чья кодовая точка Unicode равна U+000A) в процессе очистки.


7.15.8 "white-space-treatment"

Определение XSL:

Значение: ignore | preserve | ignore-if-before-linefeed | ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit
Начальное: preserve
Применяется: см. описание
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

ignore

Специфицирует, что любой объект потока символов, чей символ классифицируется в XML, до рассмотрения обработки любых прогонов строки/linefeed, таких как пробел, исключая U+000A (linefeed) символы, должен быть отброшен в процессе очистки.

preserve

Специфицирует, что любой объект потока символов, чей символ классифицируется в XML, до рассмотрения обработки любых прогонов строки/linefeed, таких как пробел, исключая U+000A (linefeed) символы, должен быть в процессе очистки конвертирован в объект потока символов, чья кодовая точка Unicode равна U+0020 (space).

ignore-if-before-linefeed

Специфицирует, что любой объект потока символов, чей символ классифицируется в XML, до рассмотрения обработки любых прогонов строки/linefeed, таких как пробел (или любая последовательность таких объектов потока символов), который непосредственно предшествует объекту потока символов, чья кодовая точка Unicode, до рассмотрения любой обработки прогонов строки, равна U+000A (linefeed), должен быть отброшен в процессе очистки.

ignore-if-after-linefeed

Специфицирует, что любой объект потока символов, чей символ классифицируется в XML, до рассмотрения обработки любых прогонов строки/linefeed, таких как пробел (или любая последовательность таких объектов потока символов), который непосредственно следует за объектом потока символов, чья кодовая точка Unicode, до рассмотрения любой обработки прогонов строки, равна U+000A (linefeed), должен быть отброшен в процессе очистки.

ignore-if-surrounding-linefeed

Специфицирует, что любой объект потока символов, чей символ классифицируется в XML, до рассмотрения обработки любых прогонов строки/linefeed, таких как пробел (или любая последовательность таких объектов потока символов), который непосредственно предшествует объекту потока символов или непосредственно следует за ним, чья кодовая точка Unicode, до рассмотрения любой обработки прогонов строки, равна U+000A (linefeed), должен быть отброшен в процессе очистки.

Свойство "white-space-treatment" специфицирует рассмотрение в процессе очистки тех объектов потока символов, исключая прогоны строки, которые классифицируются как пробелы в XML. Сюда включаются U+0020 (space) и другие пробельные символы, но исключён U+000A (linefeed). Работа с прогоном строки определяется свойством "linefeed-treatment".


7.15.9 "text-align"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x77

Значение: start | center | end | justify | inside | outside | left | right | <string> | inherit
Начальное: start
Применяется: к элементам уровня блока
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-align.

Это свойство специфицирует, как выравнивается инлайн-содержимое блока. Значения имеют следующий смысл:

left
center
right
justify

Текст, выровненный влево, вправо, по центру и по формату, соответственно.

<string>

Специфицирует строку, в которой ячейки столбца таблицы будут выравниваться (см. раздел о горизонтальном выравнивании в столбце в качестве примера). Это значение применяется только к ячейкам таблицы. Если установлено для других элементов, оно будет рассматриваться как 'left' или 'right', в зависимости от того, какое направление 'direction' - 'ltr' или 'rtl', соответственно, установлено.

Блок текста - это стэк строчных боксов. При установке 'left', 'right' и 'center' это свойство специфицирует выравнивание инлайн-боксов внутри каждого строчного бокса относительно правой и левой сторон строчного бокса; выравнивание не выполняется относительно порта просмотра. Если установлено 'justify', ПА может дополнительно растянуть инлайн-боксы для уточнениях их позиций. (См. также 'letter-spacing' и 'word-spacing'.)

ПРИМЕЧАНИЕ:

Реальный алгоритм зависит от ПА и языка письма.

Соответствующие ПА могут интерпретировать значение 'justify' как 'left' или 'right' в зависимости от того, какое значение направления письма по умолчанию - left-to-right или right-to-left, соответственно.

Модификации XSL определения CSS:

Значения имеют следующий смысл:

start

Специфицирует выравнивание содержимого у края start-edge в направлении inline-progression-direction.

center

Специфицирует центровку содержимого в направлении inline-progression-direction.

end

Специфицирует выравнивание содержимого у края end-edge в направлении inline-progression-direction.

justify

Специфицирует расширение содержимого до заполнения доступной ширины в направлении inline-progression-direction.

Последняя (или единственная) строка любого блока и любые строки в конце блока в U+000A будут выровнены в соответствии со значением свойства "text-align-last". Если эти строки выравниваются по формату, специфицируйте "text-align-last='justify'".

inside

Если край связки/binding страниц - start-edge, выравнивание будет start. Если край связки - end-edge, выравнивание будет end. Если ни то, ни другое - , используется выравнивание start.

outside

Если край связки/binding страниц - start-edge, выравнивание будет end. Если край связки - end-edge, выравнивание будет start. Если ни то, ни другое , используется выравнивание end.

left

Интерпретируется как "text-align='start'".

right

Интерпретируется как "text-align='end'".

<string>

Специфицирует строку, в которой содержимое ячеек столбца таблицы выравнивается (см. в Рекомендациях CSS2 раздел о горизонтальном выравнивании в столбце в качестве примера). Это значение применяется только в том случае, если ОФ находится в ячейке таблицы. Если установлено в других ОФ, будет рассматриваться как "start".

Это свойство описывает, как выравнивается инлайн-содержимое блока.
Для fo:external-graphic, fo:instream-foreign-object и fo:table-and-caption оно специфицирует выравнивание других областей, как описано в разделе ограничений для этих ОФ.


7.15.10 "text-align-last"

Определение XSL:

Значение: relative | start | center | end | justify | inside | outside | left | right | inherit
Начальное: relative
Применяется: к  fo:block
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

relative

Если выравнивание текста/text-align равно justify, тогда выравнивание последней строки и любой строки, оканчивающейся на U+000A, будет start. Если text-align не равно justify, text-align-last будет использовать значение из text-align.

start

Специфицирует выравнивание содержимого у края start-edge в направлении inline-progression-direction.

center

Специфицирует центровку содержимого в направлении inline-progression-direction.

end

Специфицирует выравнивание содержимого у края end-edge в направлении inline-progression-direction.

justify

Специфицирует расширение содержимого до заполнения доступной ширины в направлении inline-progression-direction.

inside

Если край связки/binding страниц - start-edge, выравнивание будет start. Если край связки - end-edge, выравнивание будет end. Если ни то, ни другое - , используется выравнивание start.

outside

Если край связки/binding страниц - start-edge, выравнивание будет end. Если край связки - end-edge, выравнивание будет start. Если ни то, ни другое, используется выравнивание end.

left

Интерпретируется как "text-align-last='start'".

right

Интерпретируется как "text-align-last='end'".

Специфицирует выравнивание последней строчной области - потомка последней блок-области, генерируемой и возвращаемой этим ОФ, к любой строчной области, генерируемой ОФ, чей следующий родственник - это блок-область, которая не является строчной областью, и любые строки блока оканчиваются на U+000A.


7.15.11 "text-indent"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x76

Значение: <length> | <percentage> | inherit
Начальное: 0pt
Применяется: к элементам уровня блока
Наследуется: да
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-indent.

Это свойство специфицирует отступ первой строки текста в блоке. Точнее, оно специфицирует отступ первого бокса, который всплывает в первый строчный бокс блока. Бокс получает отступ от левого (или правого, для вывода right-to-left) края строчного бокса. ПА должны отображать этот отступ как пустое пространство/пробел.

Значения имеют следующий смысл:

<length>

Отступ на фиксированную величину.

<percentage>

Отступ в процентах от ширины содержащего блока.

Значение 'text-indent' может быть отрицательным, но могут иметься ограничения, в зависимости от реализации. Если значение 'text-indent' - отрицательное, значение 'overflow' будет влиять на то, виден текст или нет.

Модификации XSL определения CSS:

Свойство "text-indent" специфицирует начальный отступ/start-indent первого потомка L первой блок-области, генерируемой и возвращаемой этим ОФ, принимая, что L - это строчная область/line-area.

Отрицательные значения специфицируют висячий отступ первой строки.


7.15.12 "white-space-collapse"

Определение XSL:

Значение: false | true | inherit
Начальное: true
Применяется: см. описание
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

false

Не специфицирует никаких действий.

true

Специфицирует для любого объекта потока символов, такого, что:

что объект потока не должен генерировать область.

Свойство "white-space-collapse" специфицирует работу с последовательными пробелами во время конструирования дерева областей. Общий эффект от действия свойств white-space-treatment и linefeed-treatment в процессе очистки и свойства white-space-collapse в процессе генерации дерева областей таков: после очистки, когда некоторые пробельные символы могут быть отброшены или конвертированы в символы обычного пробела, все оставшиеся участки из двух или более последовательных пробелов заменяются одиночным пробелом, а затем пробел, непосредственно прилегающий к linefeed, также отбрасывается.

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


7.15.13 "wrap-option"

Определение XSL:

Значение: no-wrap | wrap | inherit
Начальное: wrap
Применяется: к  fo:block, fo:inline, fo:page-number, fo:page-number-citation
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

no-wrap

Перенос строк/line-wrapping не выполняется.

В том случае, если строки длиннее, чем доступная ширина прямоугольника содержимого, переполнение будет обрабатываться в соответствии со свойством "overflow", специфицированном в области reference-area.

wrap

Будет выполнен разрыв строки, если строка переполняет доступную ширину блока. Никаких специальных маркёров или других изменений не будет.

Специфицирует выполнение переноса (разрыва) строк содержимого ОФ.

Реализации обязаны поддерживать значение "no-wrap", как определено в этих Рекомендациях, если "linefeed-treatment" имеет значение "preserve".



7.16 Свойства Символа

7.16.1 "character"

Определение XSL:

Значение: <character>
Начальное: N/A, требуется значение
Применяется: к  fo:character
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<character>

Специфицирует кодовую точку представленного символа Unicode.


7.16.2 "letter-spacing"

Определение CSS2:

Значение: normal | <length> | <space> | inherit
Начальное: normal
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-letter-spacing.

Это свойство специфицирует расстояние между символами текста. Значения имеют следующий смысл:

normal

Нормальное расстояние/spacing для текущего шрифта. Это значение позволяет ПА изменять расстояние между символами текста для выравнивания текста по формату.

<length>

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

Алгоритм расстояний между символами зависит от ПА. Расстояние между символами может быть установлено при выравнивании текста по формату (см. свойство "text-align").

Если результирующее расстояние между символами отличается от расстояния по умолчанию, пользовательские агенты (ПА) не должны использовать лигатуры.

Соответствующие ПА могут рассматривать значение свойства 'letter-spacing' как 'normal'.

Модификации XSL определения CSS:

Следующий тип значений добавлен к XSL:

<space>

Позволяет пользователю специфицировать диапазон уточняющих значений в дополнение к расстоянию по умолчанию между символами.

Минимальное и максимальное значения задают границы уточняющих значений.

По умолчанию расстояние между глифами определено в 0pt, т.е. глиф-области стэкируются без дополнительного пространства между прямоугольниками размещения глиф-областей. Размер inline-progression-dimension глиф-области получается форматированием объекта fo:character.

Для fo:character, классифицируемого в базе данных Unicode как "Alphabetic", если только уточнение treat-as-word-space не имеет значение "true", уточнения start-space и end-space устанавливаются каждое в соответствующее значение следующим образом:

Утверждение CSS, что "Соответствующие ПА могут рассматривать значение свойства 'letter-spacing' как 'normal'.", в XSL не действует, если ПА реализует набор свойств "Extended".

ПРИМЕЧАНИЕ:

Если нужно, чтобы межбуквенное пространство комбинировалось с другими пространствами, имеющими приоритет ниже форсирующего/forcing, тогда значение "letter-space" должно быть специфицировано как <space> с приоритетом ниже, чем force, что подразумевает, что пространства комбинируются в соответствии с правилами "разрешения"/расчёта пространства, описанными в разделе [4.3 Пространство и Обусловленность].

Алгоритм распределения уточнённых значений межсловного пространства зависит от ПА/пользовательского агента (напр., браузера).


7.16.3 "suppress-at-line-break"

Определение XSL:

Значение: auto | suppress | retain | inherit
Начальное: auto
Применяется: к  fo:character
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Это свойство применяется только к fo:character и определяет, должно ли представление символа подавляться, если он появится по соседству с разрывом строки, генерируемым форматировщиком.

Это свойство имеет следующие значения:

auto

Значение свойства определяется значением Unicode свойства символа объекта. Символ с кодовой точкой U+0020 рассматривается так, как если бы 'suppress' было специфицировано. Все другие символы рассматриваются так, как если бы было специфицировано 'retain'.

Это значение не подавляет автоматически представление неразрывающих пробелов/non-breaking-space (U+00A0), фиксированных пробелов (от U+2000 до U+200A) или идеографических пробелов/ideographic-space (U+3000).

suppress

Если глиф-область, генерируемая объектом fo:character, является первой или последней в разделе line-конструирования (см. раздел [4.7.2 Конструирование Строк]), тогда, вместо того, чтобы быть помещённой в дерево областей, она удаляется вместе со всеми смежными областями, имеющими значение suppress-at-line-break, равное suppress. Иначе она оставляется и помещается в дерево областей.

retain

Глиф-область, генерируемая объектом fo:character, должна быть помещена в дерево областей вне зависимости от того, является ли она первой/последней в разделе line-конструирования.


7.16.4 "text-decoration"

Определение CSS2:

Значение: none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] | inherit
Начальное: none
Применяется: ко всем элементам
Наследуется: нет, но см. описание
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-decoration.

Это свойство описывает варианты выделения текста элемента. Если свойство специфицировано для элемента уровня блока, оно действует для всех потомков инлайн-уровня этого элемента. Если оно специфицировано для (или воздействует на) элемент инлайн-уровня, оно действует для всех боксов, генерируемых этим элементом. Если элемент не имеет содержимого или текстового содержимого (например, элемент IMG в HTML), ПА обязаны игнорировать это свойство.

Значения имеют следующий смысл:

none

Выделение текста отсутствует.

underline

Каждая строка текста подчёркнута.

overline

Над каждой строкой текста имеется линия/верхнее "подчёркивание"/надчёркивание.

line-through

Каждая строка текста перечёркнута посередине.

blink

Текст мигает. Соответствующие ПА не обязаны поддерживать данное значение.

Цвет(а), необходимый для оформления текста, должен быть получен из значения свойства "color".

Это свойство не наследуется, но боксы - потомки бокса блока должны форматироваться с тем же оформлением (например, они все будут иметь подчёркивание текста). Цвет оформления должен остаться тем же, даже если элементы-потомки будут иметь различные значения "color".

Модификации XSL определения CSS:

XSL добавил следующие значения:

no-underline

Отключает подчёркивание, если оно имеется.

no-overline

Отключает надчёркивание, если оно имеется.

no-line-through

Отключает перечёркивание, если оно имеется.

no-blink

Отключает мигание, если оно имеется.


7.16.5 "text-shadow"

Определение CSS2:

Значение: none | [<color> || <length> <length> <length>? ,]* [<color> || <length> <length> <length>?] | inherit
Начальное: none
Применяется: ко всем элементам
Наследуется: нет, см. описание
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-shadow.

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

Каждый эффект затенения обязан специфицировать смещение затенения и может по выбору специфицировать радиус рассеивания и цвет тени.

Смещение тени специфицируется двумя значениями "length", обозначающими расстояние от текста. Первое значение специфицирует расстояние по горизонтали вправо от текста. Отрицательные значения по горизонтали смещают тень влево от текста. Второе значение специфицирует расстояние по вертикали вниз от текста. Отрицательные значения по вертикали смещают тень вверх от текста.

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

Значение цвета может быть по выбору специфицировано до или после значений размеров эффекта затенения. Значение цвета будет использовано как базовое для эффекта затенения. Если цвет не специфицирован, вместо него будет использоваться значение свойства "color".


7.16.6 "text-transform"

Определение CSS2:

Значение: capitalize | uppercase | lowercase | none | inherit
Начальное: none
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-transform.

Управляет эффектом капитализации текста элемента. Значения имеют следующий смысл:

capitalize

Первый символ каждого слова выводится в верхнем регистре.

uppercase

Все символы каждого слова выводятся в верхнем регистре.

lowercase

Все символы каждого слова выводятся в нижнем регистре.

none

Эффекты капитализации отсутствуют.

Реальная трансформация в каждом случае зависит от языка. См. в [RFC2070] способы определения языка элемента.

Соответствующие ПА могут рассматривать значение "text-transform" как "none" для символов не из репертуара ISO Latin-1, а также для тех элементов, в языках которых трансформация отличается от трансформации, специфицированной таблицами конверсии регистра Unicode или ISO 10646.

Модификации XSL определения CSS:

При использовании данного свойства имеются строгие ограничения в связи с интернационализацией. Это свойство оставлено для обеспечения совместимости с CSS, но его использование в XSL не рекомендуется.


7.16.7 "treat-as-word-space"

Определение XSL:

Значение: auto | true | false | inherit
Начальное: auto
Применяется: к  fo:character
Наследуется: нет
Процентное: N/A
Носитель: визуальный

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

Имеет следующие значения:

auto

Значение свойства определяется кодовой точкой Unicode для символов.

Поведение по умолчанию:

true

Размер inline-progression-dimension символа может быть уточнён так, как описано в свойстве "word-spacing".

false

Данный символ не имеет применённого уточнения межсловного пространства.


7.16.8 "word-spacing"

Определение CSS2:

Значение: normal | <length> | <space> | inherit
Начальное: normal
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-word-spacing.

Это свойство специфицирует поведение межсловного пространства. Значения имеют следующий смысл:

normal

Нормальное межсловное пространство, как определено текущим шрифтом и/или ПА.

<length>

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

Алгоритм пространства между словами зависит от ПА. Пространство между словами устанавливается также при выравнивании по формату (см. свойство 'text-align').

Модификации XSL определения CSS:

Следующий тип значения добавлен в XSL:

<space>

Позволяет пользователю специфицировать диапазон уточняющих значений в дополнение к пространству по умолчанию между словами.

Минимальное и максимальное значение специфицируют границы уточнения.

Межсловное пространство по умолчанию определено как размер inline-progression-dimension глиф-области, получаемый при форматировании текущего объекта fo:character, чьё уточнение treat-as-word-space имеет значение "true".

Для  fo:character, чьё уточнение treat-as-word-space имеет значение "true", уточнения start-space и end-space установлены таким образом:

ПРИМЕЧАНИЕ:

Если нужно, чтобы межбуквенное пространство комбинировалось с другими пространствами, имеющими приоритет ниже форсирующего/forcing, тогда значение "word-space" должно быть специфицировано как <space> с приоритетом ниже, чем force, что подразумевает, что пространства комбинируются в соответствии с правилами "разрешения"/расчёта пространства, описанными в разделе [4.3 Пространство и Обусловленность].

Алгоритм установки уточнённых значений межсловного и межбуквенного пространства зависит от ПА.

ПРИМЕЧАНИЕ:

Свойство "word-spacing" действует только на размещение глифов, но не фигур, которые могут быть ассоциированы с символами. Например, уточнение "_", рассматриваемого как межсловный пробел, не удлиняет и не укорачивает глиф "_".



7.17 Свойства Цвета

7.17.1 "color"

Определение CSS2:

Значение: <color> | inherit
Начальное: зависит от ПАгента
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-color.

<color>

Любая верная спецификация цвета.

Это свойство описывает цвет переднего плана текстового содержимого элемента.

Модификации XSL определения CSS:

В XSL добавлена функция "rgb-icc" (см. [5.10.2 Функции Цвета]) в качестве верного значения этого свойства.


7.17.2 "color-profile-name"

Определение XSL:

Значение: <name> | inherit
Начальное: N/A, требуется значение
Применяется: к  fo:color-profile
Наследуется: нет
Процентное: N/A
Носитель: визуальный
<name>

Специфицирует имя профиля цвета для внутренних ссылок.


7.17.3 "rendering-intent"

Определение XSL:

Значение: auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit
Начальное: auto
Применяется: к  fo:color-profile
Наследуется: нет
Процентное: N/A
Носитель: визуальный

"rendering-intent" позволяет специфицировать профиль цвета rendering-intent, отличный от профиля по умолчанию. "rendering-intent" применяется в основном к профилям цвета, соответствующим пространствам цвета CMYK. Различные опции вызывают применение различных методов для трансляции цветов в цветовую гамму целевого устройства вывода.

Значения имеют следующий смысл:

auto

Это значение по умолчанию. ПА определяет наилучшее значение на базе типа содержимого. У изображений с содержимым, содержащим внедрённый профиль, будет считаться, что назначение/intent, специфицированное в профиле - это нужное назначение. Иначе ПА будет использовать текущий профиль и форсировать назначение, переопределяя любое назначение, которое может храниться в самом профиле.

perceptual

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

relative-colorimetric

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

saturation

Сохраняет относительное насыщение (хроматизм/chroma) значений оригинальных пикселов. Цвета вне гаммы конвертируются в цвета, имеющие то же самое насыщение, но входящие в цветовую гамму.

absolute-colorimetric

Отключает совпадение белых точек при конвертировании цветов. Эта опция обычно не рекомендуется.



7.18 Свойства Поплавков

7.18.1 "clear"

Определение CSS2:

Значение: start | end | left | right | both | none | inherit
Начальное: none
Применяется: к элементам уровня блока
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-clear.

Это свойство указывает, какие стороны бокса (боксов) элемента не могут быть смежными с предыдущим всплывающим боксом. (Может оказаться, что сам элемент имеет всплывающих потомков; свойство 'clear' на них не действует.)

Это свойство может быть специфицировано только для элементов уровня блока (включая поплавки). Для компактных  и наезжающих/run-in боксов, это свойство применяется к конечному боксу блока, к которому принадлежат боксы compact или run-in.

Значения имеют следующий смысл, когда применяются к невсплывающим боксам блока:

left

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

right

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

both

Генерируемый бокс смещается ниже всех всплывающих боксов предыдущих элементов документа-источника.

none

Нет ограничений на позиционирование бокса относительно поплавков.

Если это свойство установлено на всплывающих элементах, оно даёт в результате модификацию правил позиционирования поплавка. Дополнительное ограничение (#10) вводится [в дополнение к специфицированным в описании свойства 'float']:

10. Верхний внешний край поплавка обязан быть ниже нижнего края всех предыдущих всплывающих влево боксов (в случае, когда 'clear: left'), или всех предыдущих всплывающих вправо боксов (в случае, когда 'clear: right') или обоих ('clear: both').

Модификации XSL определения CSS:

Start-float определён для обозначения области с классом области "xsl-side-float", который генерировался объектом fo:float со свойством "float", специфицированным "left" или "start".

End-float определён для обозначения области с классом области "xsl-side-float", который генерировался объектом fo:float со свойством "float", специфицированным "right" или "end".

Side-float определён для обозначения start-float или end-float.

Область "очищает/clear" side-float, если край before-edge прямоугольной рамки области позиционируется так, что находится после after-edge поплавка, или если эта область не является потомком родительской для side-float области reference-area.

ОФ блок-уровня определён как "очищающий/to clear" side-float, если области, генерируемые этим ОФ, очищают side-float.

В XSL это свойство применяется к ОФ блок-уровня и к fo:float.

Свойство clear, применённое к fo:float, который генерирует поплавки side-floats, не применяется к якорной области объекта fo:float.

Значения имеют следующий смысл:

start

Специфицирует, что каждая область, генерируемая этим объектом форматирования (ОФ), обязана очищать каждый поплавок start-float, чья родительская область reference-area является ближайшей reference-area - предком генерируемой области, принимая, что start-float был сгенерирован объектом fo:float, который находится перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования. Кроме того, специфицирует, что каждая область, генерируемая этим объектом форматирования, обязана быть помещена так, чтобы цепь из reference-area, содержащая ближайшую область reference-area - предка генерируемой области, не содержала последующей области reference-area -родителя поплавка start-float, генерируемого объектом fo:float, находящегося перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования.

end

Специфицирует, что каждая область, генерируемая этим объектом форматирования, обязана очищать каждый поплавок end-float, чья родительская область reference-area является ближайшей reference-area - предком генерируемой области, принимая, что end-float был сгенерирован объектом fo:float, который находится перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования. Кроме того, специфицирует, что каждая область, генерируемая этим объектом форматирования, обязана быть помещена так, чтобы цепь из reference-area, содержащая ближайшую область reference-area - предка генерируемой области, не содержала последующей области reference-area -родителя поплавка end-float, генерируемого объектом fo:float, находящегося перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования.

left

Интерпретируется как "clear='start'".

right

Интерпретируется как "clear='end'".

both

Специфицирует, что каждая область, генерируемая этим объектом форматирования, обязана очищать каждый поплавок side-float, чья родительская область reference-area является ближайшей областью reference-area - предком генерируемой области, принимая, что start-float был сгенерирован объектом fo:float, который находится перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования. Кроме того, специфицирует, что каждая область, генерируемая этим объектом форматирования, обязана быть помещена так, чтобы цепь из reference-area, содержащая ближайшую область reference-area - предка генерируемой области, не содержала последующей области reference-area -родителя поплавка start-float, генерируемого объектом fo:float, находящегося перед этим ОФ, используя предупорядоченное пересечение/pre-order traversal order дерева форматирования.

none

Данное свойство не вводит никаких ограничений.

Если ОФ уровня блока ограничен свойством "clear", значения компонентов его свойства space-before могут быть изменены так, как необходимо, для каждой области, которую он генерирует, чтобы выполнить это ограничение. Изменения ограничиваются так, чтобы производит минимальное дополнительное пространство, необходимое для выполнения ограничения свойства "clear".

ПРИМЕЧАНИЕ:

В зависимости от того, насколько близко край after-edge поплавка side-float находится от after-edge его родительской области reference-area, ОФ блок-уровня может оказаться неспособным генерировать область - потомок родительской области reference-area поплавка side-float. В этом случае первая блок-область, генерируемая этим ОФ, обязана быть помещена в одну из следующих областей reference-areas в цепи областей reference-area, содержащей родительскую область reference-area поплавка side-float.


7.18.2 "float"

Определение CSS2:

Значение: before | start | end | left | right | none | inherit
Начальное: none
Применяется: ко всем, кроме позиционированных элементов и генерируемого содержимого
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-float.

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

left

Элемент генерирует бокс блока, который всплывает влево. Содержимое обтекает по правой стороне бокса, начиная от верха (субъект свойства "clear"). "display" игнорируется, если только он не имеет значения "none".

right

То же, что и "left", но содержимое обтекает по левой стороне бокса, начиная от верха.

none

Бокс не всплывает.

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

1. Левый внешний край всплывающего влево бокса не может быть слева от левого края содержащего его блока. Аналогичное правило действует для всплывающих вправо элементов.

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

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

4. Внешний верх всплывающего бокса не может быть выше верха содержащего его блока.

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

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

7. Всплывающий влево бокс, имеющий слева от себя другой всплывающий влево бокс, не может иметь свой правый внешний край справа от правого края содержащего его блока. (Проще: левый поплавок не может выдаваться по правому краю, если только он уже не находится влево так далеко, насколько это возможно.) Аналогичное правило действует для всплывающих вправо элементов.

8. Всплывающий бокс обязан быть помещён так высоко, насколько это возможно.

9. Всплывающий влево бокс обязан быть помещён влево так далеко, насколько это возможно, всплывающий вправо бокс обязан быть помещён вправо так далеко, насколько это возможно. Более высокая позиция имеет преимущество над последующей позицией влево/вправо.

Модификации XSL определения CSS:

Следующие значения добавлены в XSL: "before", "start" и "end".

В XSL это свойство применяется только к fo:float.

Значения имеют следующий смысл:

before

Специфицирует, что блок-области, генерируемые объектом fo:float, должны быть класса области "xsl-before-float" и должны быть потомками области before-float-reference-area, генерируемой условным субрегионом тела региона.

start

Специфицирует, что блок-области, генерируемые объектом fo:float, должны быть класса области "xsl-side-float" и должны всплывать к краю start-edge области reference area.

end

Специфицирует, что блок-области, возвращаемые объектом fo:float, должны быть класса области "xsl-side-float" и должны всплывать к краю end-edge области reference area.

left

Интерпретируется как  "float='start'".

right

Интерпретируется как  "float='end'".

none

Специфицирует, что блок-области, генерируемые объектом fo:float, должны быть normal/нормальными.

Это свойство определяет уточнение area-class блок-областей, возвращаемых объектом fo:float, которое управляет размещением и родителем этих блок областей.


7.18.3 "intrusion-displace"

Определение XSL:

Значение: auto | none | line | indent | block | inherit
Начальное: auto
Применяется: к  fo:block, fo:block-container, fo:table-and-caption, fo:table, fo:table-caption, fo:list-block, fo:list-item.
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Для области reference-area это значение рассматривается так, как будто специфицировано "block". Для любой другой области это значение рассматривается так, как будто специфицировано "line".

none

Ни строчные, ни блок-области не перемещаются (и не имеют  никаких уточнений своего размера инлайн-прогрессии/inline progression dimension) при вторжении поплавка. Поплавок перекрывает область без воздействия на содержимое области, если только свойство "clear" не имеет специфицированное значение, отличное от "none".

line

Края start и end строчных областей перемещаются настолько точно, что любые вторжения не пересекают прямоугольник содержимого строчной области. Такие пересечения выполняются относительно строчной области до её уточнения каким-либо "text-indent". Это вызывает редукцию в направлении inline-progression-dimension это строчной области.

ПРИМЕЧАНИЕ:

Это поведение поплавков описано в  CSS2.

indent

Край start (и end) каждой строки внутри области блока, в которой применяется свойство, перемещается
(a) на по меньшей мере то же самое значение, на которое он сместился бы значением "line" этого свойства, и
(b) кроме того, на величину, сохраняющую смещение края start (или end) относительно края start (или end) любой другой строки, перемещённой под влиянием какого-либо вторжения, вызывающего перемещение текущей строки. Если имеется более одного вторжения, могущего вызвать перемещение строки, используется наибольшее вторжение.

block

Край start (и end) блока перемещается на наименьшее значение, которое гарантирует, что
(a) край start (и end) блока не пересекает никаких вторжений start (end), перекрывающих этот блок, и
(b) величина, на которую он перемещается, как минимум такая же, как и перемещение родительской области, принимая, что родитель - это блок-область, не являющаяся областью reference-area. О вторжении говорится, что оно перекрывает блок, если имеется строка, параллельная направлению inline-progression-direction, пересекающая прямоугольники содержимого обоих блоков и вторжения.

Это свойство определяет стратегию перемещения при наличии вторжений.

ПРИМЕЧАНИЕ:

Перемещение края start (и/или end) блока обязательно перемещает край start (и/или end) всех строк и блоков, содержащихся внутри данного блока.



7.19 Свойства Keeps и Breaks

Разрывы страниц применяются только к потомкам ОФ fo:flow и не внутри абсолютно позиционированных областей или областей out-of-line/внестрочных. В потомках объектов fo:flow разрывы столбцов применяются, и разрыв столбца в последнем (или единственном) столбце подразумевает разрыв страницы; разрывы столбцов в статическом содержимом/static-content применяются, за исключением случаев, когда они имеются в последнем (или единственном) столбце, где они игнорируются.

Семантика keeps и breaks была уже описана в разделе [4.8 Свойства Keeps и Breaks].


7.19.1 "break-after"

Определение XSL:

Значение: auto | column | page | even-page | odd-page | inherit
Начальное: auto
Применяется: к ОФ уровня блока, fo:list-item и fo:table-row
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения этих свойств имеют следующий смысл:

auto

Никакие разрывы не форсируются.

ПРИМЕЧАНИЕ:

Разрывы страниц, определённые процессингом форматировщика, могут возникать под воздействием свойств "widow", "orphan", "keep-with-next", "keep-with-previous" и "keep-together".

column

Вводит условие break-after/разрыв-после с контекстом из областей столбцов.

page

Вводит условие break-after/разрыв-после с контекстом из страничных областей.

even-page

Вводит условие break-after/разрыв-после с контекстом из областей чётных страниц (если необходимо, может генерироваться пустая страница).

odd-page

Вводит условие break-after/разрыв-после с контекстом из областей нечётных страниц (если необходимо, может генерироваться пустая страница).

Специфицирует, что последняя область, генерируемая при форматировании этого ОФ, должна быть последней, помещаемой в определённом контексте (например, page-area, column-area).

Это свойство не действует, если применяется к ОФ fo:table-row, в котором имеется какой-либо захват рядов/row spanning, включающий текущий объект ряда fo:table-row и последующий.


7.19.2 "break-before"

Определение XSL:

Значение: auto | column | page | even-page | odd-page | inherit
Начальное: auto
Применяется: к ОФ уровня блока, fo:list-item и fo:table-row
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Никакие разрывы не форсируются.

ПРИМЕЧАНИЕ:

Разрывы страниц, определённые процессингом форматировщика, могут возникать под воздействием свойств "widow", "orphan", "keep-with-next", "keep-with-previous" и "keep-together".

column

Вводит условие break-after/разрыв-после с контекстом из областей столбцов.

page

Вводит условие break-after/разрыв-после с контекстом из страничных областей.

even-page

Вводит условие break-after/разрыв-после с контекстом из областей чётных страниц (если необходимо, может генерироваться пустая страница).

odd-page

Вводит условие break-after/разрыв-после с контекстом из областей нечётных страниц (если необходимо, может генерироваться пустая страница).

Специфицирует, что первая область, генерируемая при форматировании этого ОФ, должна быть первой, помещаемой в определённом контексте (например, page-area, column-area).

Это свойство не действует, если применяется к ОФ fo:table-row, в котором имеется какой-либо захват рядов/row spanning, включающий текущий объект ряда fo:table-row и последующий

 

7.19.3 "keep-together"

Определение XSL:

Значение: <keep> | inherit
Начальное: .within-line=auto, .within-column=auto, .within-page=auto
Применяется: к ОФ уровня блока, инлайн-ОФ, fo:table-caption, fo:table-row, fo:list-item, fo:list-item-label и fo:list-item-body
Наследуется: да
Процентное: N/A
Носитель: визуальный

Это свойство вводит условие keep-together в ОФ.

Тип данных <keep> состоит из трёх компонентов: within-line/внутри-строки, within-column/внутри-столбца и within-page/внутри-страницы. Разные компоненты применяются к различным классам ОФ и предоставляют условия сохранения/keep для различных контекстов.
В случае с компонентом within-line, контекст keep состоит из строчных областей; для компонента within-column контекст keep состоит из областей столбцов; для компонента within-page контекст keep состоит из страничных областей. В нижеследующем описании термин "подходящий контекст" должен интерпретироваться в понятиях предыдущего предложения.

Значения этих компонентов  имеют следующий смысл:

auto

Это свойство не вводит никаких условий keep-together.

always

Вводит условие keep-together с интенсификатором "always" в подходящем контексте.

<integer>

Вводит условие keep-together с интенсификатором <integer/целое число> в подходящем контексте.

Семантика keeps и breaks была описана ранее в разделе [4.8 Свойства Keeps и Breaks].


7.19.4 "keep-with-next"

Определение XSL:

Значение: <keep> | inherit
Начальное: .within-line=auto, .within-column=auto, .within-page=auto
Применяется: к ОФ уровня блока, инлайн-ОФ, fo:list-item и fo:table-row
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Это свойство вводит условие keep-with-next для ОФ.

Тип данных <keep> состоит из трёх компонентов: within-line/внутри-строки, within-column/внутри-столбца и within-page/внутри-страницы. Разные компоненты применяются к различным классам ОФ и предоставляют условия сохранения/keep для различных контекстов.
В случае с компонентом within-line, контекст keep состоит из строчных областей; для компонента within-column контекст keep состоит из областей столбцов; для компонента within-page контекст keep состоит из страничных областей. В нижеследующем описании термин "подходящий контекст" должен интерпретироваться в понятиях предыдущего предложения.

Значения этих компонентов  имеют следующий смысл:

auto

Это свойство не вводит никаких условий keep-together.

always

Вводит условие keep-together с интенсификатором "always" в подходящем контексте.

<integer>

Вводит условие keep-together с интенсификатором <integer/целое число> в подходящем контексте.

Семантика keeps и breaks была описана ранее в разделе [4.8 Свойства Keeps и Breaks].


7.19.5 "keep-with-previous"

Определение XSL:

Значение: <keep> | inherit
Начальное: .within-line=auto, .within-column=auto, .within-page=auto
Применяется: к ОФ уровня блока, инлайн-ОФ, fo:list-item и fo:table-row
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Это свойство вводит условие keep-with-previous для ОФ.

Тип данных <keep> состоит из трёх компонентов: within-line/внутри-строки, within-column/внутри-столбца и within-page/внутри-страницы. Разные компоненты применяются к различным классам ОФ и предоставляют условия сохранения/keep для различных контекстов.
В случае с компонентом within-line, контекст keep состоит из строчных областей; для компонента within-column контекст keep состоит из областей столбцов; для компонента within-page контекст keep состоит из страничных областей. В нижеследующем описании термин "подходящий контекст" должен интерпретироваться в понятиях предыдущего предложения.

Значения этих компонентов  имеют следующий смысл:

auto

Это свойство не вводит никаких условий keep-together.

always

Вводит условие keep-together с интенсификатором "always" в подходящем контексте.

<integer>

Вводит условие keep-together с интенсификатором <integer/целое число> в подходящем контексте.

Семантика keeps и breaks была описана ранее в разделе [4.8 Свойства Keeps и Breaks].


7.19.6 "orphans"

Определение CSS2:

Значение: <integer> | inherit
Начальное: 2
Применяется: к элементам уровня блока
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-orphans.

См. определение свойства widows/вдовы ([7.19.7 "widows"]).


7.19.7 "widows"

Определение CSS2:

Значение: <integer> | inherit
Начальное: 2
Применяется: к элементам уровня блока
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-widows.

Свойство "orphans" специфицирует минимальное число строк параграфа, которые обязаны оставаться внизу страницы. Свойство "widows" специфицирует минимальное число строк параграфа, которые обязаны оставаться вверху страницы.

Модификации XSL определения CSS:

В XSL свойство "orphans" специфицирует минимальное количество строчных областей в первой области, генерируемой ОФ. Свойство "widows" специфицирует минимальное количество строчных областей в последней области, генерируемой ОФ.



7.20 Свойства Структуры

Далее идут относящиеся к структуре свойства, которые не являются общими для всех объектов форматирования (ОФ).

7.20.1 "clip"

Определение CSS2:

Значение: <shape> | auto | inherit
Начальное: auto
Применяется: к элементам блок-уровня и замещаемым
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-clip.

Свойство 'clip' применяется к элементам, имеющим в свойстве 'overflow' значение, отличное от 'visible'. Значения имеют следующий смысл:

auto

Усекаемый регион имеет тот же размер и размещение, что и бокс(ы) элемента(ов).

<shape>

В CSS2 единственным верным значением <shape> является: rect (<top> <right> <bottom> <left>), где <top>, <bottom> <right> и <left> специфицируют смещение от соответствующих краёв бокса.

Любой из <top>, <right>, <bottom> и <left> может иметь для <length> значение "auto". Отрицательные значения разрешены. Значение "auto" означает, что данный край усекаемого региона будет тем же, что и край генерируемого бокса элемента (т.е. "auto" означает "0".)

Если координаты округляются до пикселных координат, нужно соблюдать осторожность, так как никаких пикселов не будет видно, если <left> + <right> равно ширине элемента (или <top> + <bottom> равно высоте элемента ), и наоборот - никакие пикселы не будут скрыты, если эти значения равны 0.

Предки элемента могут также иметь усечённые регионы (если их свойство "overflow" - не "visible"); будет видно пересечение различных усекаемых регионов.

Если усекаемый регион выходит за границы окна документа пользовательского агента (ПА), содержимое может быть усечено до размеров этого окна операционной системой.


7.20.2 "overflow"

Определение CSS2: исправленное в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x67

Значение: visible | hidden | scroll | error-if-overflow | auto | inherit
Начальное: auto
Применяется: к элементам блок-уровня и замещаемым
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-overflow.

Это свойство специфицирует, сжимается ли содержимое элемента блок-уровня, если оно переполняет бокс элемента (который действует для этого содержимого как содержащий блок).
Значения имеют следующий смысл:

visible

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

hidden

Это значение указывает, что содержимое усекается и что механизм прокрутки для просмотра содержимого за пределами усекаемого региона не должен предоставляться; пользователи не получат доступ к отсечённому содержимому. Размер и форма усекаемого региона определяются свойством "clip".

scroll

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

auto

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

Даже если "overflow" установлено в "visible", содержимое может быть усечено до окна документа ПА операционной системой.

Модификации XSL определения CSS:

Определено ещё одно значение:

error-if-overflow

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

Для печатных носителей - реализации обязаны поддерживать "auto" и "visible", как определено в этих Рекомендациях. Другие значения могут рассматриваться так, будто специфицировано "auto".


7.20.3 "reference-orientation"

Определение XSL:

Значение: 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit
Начальное: 0
Применяется: см. описание
Наследуется: да (см. описание)
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

0

Ориентация reference-orientation этой области reference-area - та же, что и reference-orientation содержащей области reference-area.

90

Ориентация reference-orientation этой области reference-area поворачивает на 90 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

180

Ориентация reference-orientation этой области reference-area поворачивает на 180 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

270

Ориентация reference-orientation этой области reference-area поворачивает на 270 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

-90

Ориентация reference-orientation этой области reference-area поворачивает на 270 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

ПРИМЕЧАНИЕ:

Это эквивалентно специфицированию "270".

-180

Ориентация reference-orientation этой области reference-area поворачивает на 180 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

ПРИМЕЧАНИЕ:

Это эквивалентно специфицированию "180".

-270

Ориентация reference-orientation этой области reference-area поворачивает на 90 градусов по часовой стрелке от reference-orientation содержащей области reference-area.

ПРИМЕЧАНИЕ:

Это эквивалентно специфицированию "90".

reference-orientation специфицирует направление для "top" прямоугольника содержимого области "reference-area". Оно используется как ссылка для получения направлений - таких как block-progression-direction, inline-progression-direction и т.п., как специфицировано свойствами "writing-mode" и "direction" - и ориентации, размещения и размножения рисунка фона.

Свойство "reference-orientation" применяется только к ОФ, которые устанавливают область reference-area. Каждое значение "reference-orientation" устанавливает абсолютное направление для "top", "left", "bottom" и "right"; которое используется свойствами "writing-mode", "direction" и всеми операциями позиционирования, которые ссылаются на reference-area или вложены в неё.

Уточнение reference-orientation области косвенно получается из свойства "reference-orientation" в ОФ, генерирующем эту область или в предках этого ОФ.


7.20.4 "span"

Определение XSL:

Значение: none | all | inherit
Начальное: none
Применяется: см. описание
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

none

Этот объект не захватывает несколько столбцов.

all

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

Специфицирует, должен ли ОФ блок-уровня быть помещён в текущий столбец или должен захватить все столбцы многостолбцового региона.

ПРИМЕЧАНИЕ:

Это будет действовать только для областей, возвращаемых потоком; например, для блок-областей, генерируемых объектами fo:block - потомками fo:flow. Дочерние объекты и последующие потомки таких областей принимают от своих родителей характеристики захвата.



7.21 Свойства Заполнителя и Линий

7.21.1 "leader-alignment"

Определение XSL:

Значение: none | reference-area | page | inherit
Начальное: none
Применяется: к  fo:leader
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

none

Leader-pattern/патэрн заполнителя не имеет специального выравнивания.

reference-area

Leader-pattern выравнивается так, как если бы он начинался у края start-edge прямоугольника содержимого текущей области reference-area.

page

Leader-pattern выравнивается так, как если бы он начинался у края start-edge текущей страницы.

Специфицирует, будут ли fo:leaders, имеющие идентичные содержимое и значения свойств, иметь патэрны, выровненные один относительно другого и их общей reference-area или страницы.

Для fo:leaders, у которых свойство "leader-pattern" специфицировано как "dot" или как "use-content", это свойство будет игнорироваться.

Если fo:leader выравнивается, край start-edge каждого цикла повторяющегося патэрна будет помещён на край start-edge следующего цикла в подходящей решётке выравнивания патэрнов.


7.21.2 "leader-pattern"

Определение XSL:

Значение: space | rule | dots | use-content | inherit
Начальное: space
Применяется: к  fo:leader
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

space

Заполнитель наполняется пробелом.

rule

Заполнитель наполняется линией.

Если сделан этот выбор, свойства "rule-thickness" и "rule-style" используются для установки стиля заполнителя.

dots

Заполнитель наполняется последовательностью точек. Выбор символа точки зависит от ПА.

use-content

Заполнитель наполняется повторяющимся патэрном, как специфицировано потомком объекта fo:leader.

Даёт спецификацию наполнения заполнителя.

Если заполнитель выравнивается, край start-edge каждого цикла повторяющегося патэрна будет помещён на край start-edge следующего цикла в решётке выравнивания патэрнов.

Реализации обязаны поддерживать значения "space", "rule" и "dots", как определено в этих Рекомендациях. Значение "use-content" может рассматриваться так, будто специфицировано "space".


7.21.3 "leader-pattern-width"

Определение XSL:

Значение: use-font-metrics | <length> | <percentage> | inherit
Начальное: use-font-metrics
Применяется: к  fo:leader
Наследуется: да
Процентное: относительно ширины содержащего бокса
Носитель: визуальный

Значения имеют следующий смысл:

use-font-metrics

Используется ширина leader-pattern, как определено в метриках его шрифта.

<length>

Устанавливается количество повторений патэрна (leader-pattern-repeating).

Лидер будет иметь инлайн-пробел/inline-space, вставленный после каждого цикла патэрна для подсчёта разницы между шириной патэрна, определённой метриками шрифта, и шириной, специфицированной в данном свойстве.

Если специфицированное количество меньше, чем значение которое может быть определено путём выбора use-font-metrics, значение этого свойства вычисляется так, как если бы было специфицировано use-font-metrics.

Специфицирует размер каждого цикла повторений для повторяющегося заполнителя.

Для заполнителей, у которых свойство "leader-pattern" специфицировано как "dots" или как "use-content", это свойство будет использоваться.


7.21.4 "leader-length"

Определение XSL:

Значение: <length-range> | <percentage> | inherit
Начальное: leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100%
Применяется: к  fo:leader
Наследуется: да
Процентное: относительно ширины прямоугольника содержимого родительской области
Носитель: визуальный

Значения имеют следующий смысл:

<length-range>

leader-length.minimum=устанавливает минимальный размер заполнителя

leader-length.optimum=устанавливает оптимальный размер заполнителя

leader-length.maximum=устанавливает максимальный размер заполнителя

Специфицирует минимальный, оптимальный и максимальный размер fo:leader.

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

ПРИМЕЧАНИЕ:

ПА могут избрать использование значения "leader-length.optimum" для определения места разрыва строки, используя затем минимальное и максимальное значение в процессе выравнивания строки по формату.

Значения размеров заполнителя, такие как:

leader-length.minimum="0pt"
leader-length.optimum="12pt"
leader-length.maximum="100%"

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

ПРИМЕЧАНИЕ:

Как и со всеми другими объектами заполнения и форматирования в строчной области, чей размер inline-progression-dimension предоставляет ограничения minimum/optimum/maximum, диапазон размеров ОФ заполнителя предоставляет большую гибкость процессу выравнивания по формату. Хотя любой результат, удовлетворяющий ограничениям, будет соответствовать этой спецификации, текущая типографская практика будет преимущественно пытаться использовать гибкость размеров заполнителя в ущерб другим свойствам (например, межсловному пространству) внутри той же самой строчной области при выравнивании строки. Если несколько ОФ заполнителя появляются внутри одной строчной области, текущая типографская практика будет пытаться использовать гибкость размеров их всех некоторым способом, определяемым реализацией (например, равно или пропорционально специфицированным значениям leader-length.maximum).


7.21.5 "rule-style"

Определение XSL:

Значение: none | dotted | dashed | solid | double | groove | ridge | inherit
Начальное: solid
Применяется: к  fo:leader
Наследуется: да
Процентное: N/A
Носитель: визуальный

Специфицирует стиль (патэрн) линии.

Это свойство применяется, только если свойство "leader-pattern" специфицировано как "rule".

Значения имеют следующий смысл:

none

Линия отсутствует, форсирует толщину линии/rule-thickness до 0.

dotted

Линия это последовательность точек.

dashed

Линия это последовательность пунктирных линий.

solid

Сплошная линия.

double

Двойная сплошная линия. Сумма двух линий и пространства между ними равна значению "rule-thickness".

groove

Вдавленная линия. (Верхняя/левая половина толщины линии имеет специфицированный цвет; другая половина - белая.)

ridge

Противоположно "groove", линия выступает из канвы. (Нижняя/правая половина толщины линии имеет специфицированный цвет; другая половина - белая.)

Реализации обязаны поддерживать значения "none" и "solid", как определено в данных Рекомендациях. Другие значения могут рассматриваться так, как если бы было специфицировано "solid".


7.21.6 "rule-thickness"

Определение XSL:

Значение: <length>
Начальное: 1.0pt
Применяется: к  fo:leader
Наследуется: да
Процентное: N/A
Носитель: визуальный

Специфицирует общую толщину линии.

Это свойство применяется только тогда, когда свойство "leader-pattern" специфицировано как "rule".

Значения имеют следующий смысл:

<length>

"rule-thickness" всегда перпендикулярна оси длины.

Линия утолщается равномерно вверх и вниз от позиции выравнивания линии. Это можно уточнить свойством "baseline-shift".



7.22 Свойства Объектов Форматирования Динамических Эффектов

7.22.1 "active-state"

Определение XSL:

Значение: link | visited | active | hover | focus
Начальное: нет, требуется значение
Применяется: к  fo:multi-property-set
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
link

Этот набор fo:multi-property-set применяется, если имеется fo:basic-link -потомок родительского fo:multi-properties, и эта ссылка ещё не была посещена.

visited

Этот набор fo:multi-property-set применяется, если имеется fo:basic-link -потомок родительского fo:multi-properties, и эта ссылка была посещена.

active

Этот набор fo:multi-property-set применяется, если нормальная область, возвращаемая родительским объектом fo:multi-properties, активирована пользователем. Например, в промежуток времени между нажатием и отпусканием клавиши мыши.

hover

Этот набор fo:multi-property-set применяется, если пользователь указал на нормальную область, возвращаемую родительским объектом fo:multi-properties (некоторым указательным устройством), но не активировал её. Например, курсор (указатель мыши) проходит над этой областью.

focus

Этот набор fo:multi-property-set применяется, если нормальная область, возвращаемая родительским объектом fo:multi-properties, имеет фокус (принимает события от клавиатуры или другие формы ввода текста).

Свойство"active-state" управляет тем, какой из наборов fo:multi-property-sets используется для форматирования дочерних объектов потока внутри ОФ fo:multi-properties. Состояния (или как минимум события, вызывающие определённые состояния) определены в DOM.


7.22.2 "auto-restore"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:multi-switch
Наследуется: да
Процентное: N/A
Носитель: интерактивный
true

Если этот переключатель fo:multi-switch содержится в другом fo:multi-switch и этот fo:multi-switch изменяет активный fo:multi-case (скрывая fo:multi-switch), тогда этот fo:multi-switch должен восстанавливать этот начальный fo:multi-case.

false

Этот fo:multi-switch не должен изменять свой fo:multi-case.

Специфицирует, должен ли начальный fo:multi-case быть восстановлен, если fo:multi-switch был сделан своим fo:multi-switch - предком невидимым.

ПРИМЕЧАНИЕ:

Общий случай использования этого свойства со значение "true" - когда несколько вложенных объектов fo:multi-switch строят просмотр расширяемого/сжимаемого оглавления/table-of-contents. Если table-of-contents расширяется вниз по иерархии и предок (самый верхний) закрыт, может понадобиться восстановить подзаголовки к их оригинальному состоянию, если этот предок вновь будет открыт.


7.22.3 "case-name"

Определение XSL:

Значение: <name>
Начальное: нет, требуется значение
Применяется: к  fo:multi-case
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: интерактивный
<name>

Специфицирует имя fo:multi-case. Имя обязано быть уникальным среди имеющихся родственных fo:multi-case, т.е. в области видимости объекта fo:multi-switch, который (явно) содержит их. Другие экземпляры объектов fo:multi-switch могут использовать те же самые имена для своих объектов fo:multi-case.

Назначение этого свойства - разрешить объектам fo:multi-toggle выбирать объекты fo:multi-case для переключения на них.


7.22.4 "case-title"

Определение XSL:

Значение: <string>
Начальное: нет, требуется значение
Применяется: к  fo:multi-case
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: интерактивный
<string>

Специфицирует описательное название для fo:multi-case. Название может отображаться в меню для представления этого fo:multi-case, когда объект fo:multi-toggle именует несколько объектов fo:multi-case - как допустимые объекты назначения.


7.22.5 "destination-placement-offset"

Определение XSL:

Значение: <length>
Начальное: 0pt
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
<length>

Свойство "destination-placement-offset" специфицирует расстояние от начала (верха) страницы до самой глубокой строчной области/line-area, содержащей первую область назначения. Если первая область назначения не содержится в строчной области, свойство "destination-placement-offset" вместо этого прямо специфицирует расстояние до верха области назначения.

Если спецификация destination-placement-offset даст в результате расстояние большее, чем расстояние от начала документа, должно использоваться расстояние от начала документа.

Если специфицированное расстояние будет выталкивать первую область назначения ниже страничной области/page-area, расстояние должно быть уменьшено так, чтобы вся первая область назначения стала видимой, если возможно. Если первая область назначения выше, чем страница, верх этой области должен быть выровнен с верхом страницы.


7.22.6 "external-destination"

Определение XSL:

Значение: <uri-specification>
Начальное: пустая строка
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
<uri-specification>

Специфицирует ресурс назначения (или, если задан идентификатор фрагмента, субресурс) для fo:basic-link.

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

Как минимум одно из свойств - external-destination/внешнего назначения или internal-destination/внутреннего назначения - должно быть назначено. Если назначены оба свойства, система может либо сообщить об ошибке, либо использовать свойство internal-destination.


7.22.7 "indicate-destination"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
true

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

false

Никакого специального обозначения не выполняется.

ПРИМЕЧАНИЕ:

Обозначение должно выполняться каким-либо видимым образом: обратной прокруткой video и т.п.


7.22.8 "internal-destination"

Определение XSL:

Значение: empty string | <idref>
Начальное: empty string
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
<idref>

Специфицирует объект назначения потока для fo:basic-link. Это свойство позволяет явно специфицировать узел объекта назначения потока.

Как минимум одно из свойств - external-destination или internal-destination - должно быть назначено. Если назначены оба свойства, система может либо сообщить об ошибке, либо использовать свойство internal-destination.


7.22.9 "show-destination"

Определение XSL:

Значение: replace | new
Начальное: replace
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
replace

Текущий вид документа должен быть замещён. Однако, если область(и) назначения уже доступны на странице/регионе, эти области должны просто быть перемещены/прокручены "into sight".

new

Всегда должен открываться новый (дополнительный) вид документа.

Специфицирует, должен ли быть видим ресурс назначения.


7.22.10 "starting-state"

Определение XSL:

Значение: show | hide
Начальное: show
Применяется: к  fo:multi-case
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
show

Содержимое объекта fo:multi-case является кандидатом для начального отображения.

hide

Содержимое объекта fo:multi-case не является кандидатом для начального отображения.

Специфицирует, может ли объект fo:multi-case первоначально отображаться.

Родительский fo:multi-switch должен будет выбрать первый дочерний fo:multi-case, у которого свойство "starting-state" имеет значение "show".

ПРИМЕЧАНИЕ:

Любое количество объектов fo:multi-case могут назначать  "show" для "starting-state".

Если ни один из fo:multi-case не имеет для свойства "starting-state" значение "show", не должно выводить содержимое ни одного из fo:multi-case.

ПРИМЕЧАНИЕ:

Если ни один из multi-case не отображён, весь fo:multi-switch будет скрыт/hidden.


7.22.11 "switch-to"

Определение XSL:

Значение: xsl-preceding | xsl-following | xsl-any | <name>[ <name>]*
Начальное: xsl-any
Применяется: к  fo:multi-toggle
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
xsl-preceding

Активация переключателя/switch должна в результате давать замещение текущего fo:multi-case его предшествующим родственником.

ПРИМЕЧАНИЕ:

Текущий fo:multi-case является ближайшим предком для fo:multi-case.

Другими словами, текущий fo:multi-switch должен переключать на предыдущего родственника того fo:multi-case, который выбран в данный момент.

ПРИМЕЧАНИЕ:

Текущий fo:multi-switch является ближайшим предком для fo:multi-switch.

Если текущий fo:multi-case является первым родственником, xsl-preceding должно переключать к последнему fo:multi-case - родственнику.

xsl-following

Активация переключателя должна в результате давать замещение текущего fo:multi-case его последующим родственником.

Если текущий fo:multi-case является последним родственником, xsl-following должно переключать к первому fo:multi-case - родственнику.

xsl-any

Активация переключателя должна дать пользователю возможность выбора другого fo:multi-case - родственника.

Если имеется ещё только один fo:multi-case, переключение должно немедленно происходить на него (и не показывать пользователю этот единственный вариант выбора).

<name>

Имя, соответствующее имени варианта/case-name объекта fo:multi-case.

Специфицирует, на какой (из) объект(ов) fo:multi-case будет переключать этот fo:multi-toggle.

Если switch-to это список имён, пользователь может переключаться на любой из именованных объектов multi-case. Если активирован multi-toggle с единственным именем, он  должен немедленно переключать на именованный multi-case.

ПРИМЕЧАНИЕ:

То, как в реальности выбирать multi-case из списка, зависит от системы.


7.22.12 "target-presentation-context"

Определение XSL:

Значение: use-target-processing-context | <uri-specification>
Начальное: use-target-processing-context
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный
use-target-processing-context

Должен использоваться контекст, специфицированный свойством "target-processing-context".

<uri-specification>

Специфицирует ограниченный контекст, в котором ресурс должен быть представлен, если внешнее назначение является ресурсом обработанного структурированного типа носителя, для которого ограниченный презентационный контекст имеет смысл (например, XML, XHTML, SVG).

Это свойство игнорируется, если свойство "external-destination" имеет пустое строковое значение или если внешнее назначение не является ресурсом обработанного структурированного типа носителя, для которого ограниченный презентационный контекст имеет смысл.

ПРИМЕЧАНИЕ:

Например, реализации XML и XSL могут разбирать документ XML, но начинать процессинг XSLT применением шаблонов к набору узлов, указанному свойством "target-presentation-context".

ПРИМЕЧАНИЕ:

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


7.22.13 "target-processing-context"

Определение XSL:

Значение: document-root | <uri-specification>
Начальное: document-root
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный

document-root

Корень документа используемого внешнего назначения/external-destination.
 

<uri-specification>

Специфицирует корень виртуального документа, который должен быть обработан процессором, готовящим новое представление, если внешнее назначение является ресурсом обработанного структурированного типа носителя (например, XML, SVG).

Это свойство игнорируется, если свойство "external-destination" имеет пустое строковое значение или если внешнее назначение не является ресурсом обработанного структурированного типа носителя.

ПРИМЕЧАНИЕ:

Не все ссылки URI будут корнем в полном смысле, например, XPointer, дающий диапазон строк в документ XML.

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


7.22.14 "target-stylesheet"

Определение XSL:

Значение: use-normal-stylesheet | <uri-specification>
Начальное: use-normal-stylesheet
Применяется: к  fo:basic-link
Наследуется: нет
Процентное: N/A
Носитель: интерактивный

use-normal-stylesheet

Реализация будет определять таблицу стилей, используя свои обычные методы.
 

<uri-specification>

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

ПРИМЕЧАНИЕ:

Например, из информации "шапки" HTTP, инструкций процессинга таблицы стилей XML или элементов стиля и ссылок XHTML.

Это свойство игнорируется, если свойство "external-destination" имеет пустое строковое значение или если внешнее назначение не является ресурсом, использующим таблицы стилей.

ПРИМЕЧАНИЕ:

В этой версии XSL разрешёна ссылка только на URI одной таблицы стилей. Последующие версии XSL могут расширить спецификацию таблицы стилей.



7.23 Свойства Маркёров

7.23.1 "marker-class-name"

Определение XSL:

Значение: <name>
Начальное: пустое имя
Применяется: к  fo:marker
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: страничный

Значения имеют следующий смысл:

<name>

Используемые имена обязаны быть уникальными среди объектов fo:markers, присоединённых (концептуально) к той же самой области.

Если имя пустое или если обнаружен конфликт имён, должно выдаваться сообщение об ошибке. Процессор может затем продолжить обработку.

Это свойство идентифицирует fo:marker как находящийся в группе с другими, имеющими то же имя, каждый из которых становится кандидатом на запрос со стороны объектом fo:retrieve-marker, имеющим свойство "retrieve-class-name" с тем же значением.


7.23.2 "retrieve-class-name"

Определение XSL:

Значение: <name>
Начальное: пустое имя
Применяется: к  fo:retrieve-marker
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: страничный

Значения имеют следующий смысл:

<name>

Имя, совпадающее со значением свойства "marker-class-name" объекта fo:marker.

Это свойство ограничивает, что fo:marker, чьи дочерние элементы запрашиваются объектом fo:retrieve-marker, обязан иметь такое же значение свойства "marker-class-name", как и значение этого свойства.


7.23.3 "retrieve-position"

Определение XSL:

Значение: first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page
Начальное: first-starting-within-page
Применяется: к  fo:retrieve-marker
Наследуется: нет
Процентное: N/A
Носитель: страничный

Термин "containing page/содержащая страница" используется здесь для обозначения страницы, содержащей первую область, генерируемую или возвращаемую потомками запрошенного fo:marker.

Значения имеют следующий смысл:

first-starting-within-page

Специфицирует приоритет запросов потомков объекта fo:marker, присоединённого к области:

  • внутри содержащей страницы

  • чьё уточнение "is-first" установлено в "true"

и то, что она предшествует в дереве областей любой другой сходным образом сконструированной области, присоединённой к идентично именованному fo:marker, используя порядок предупорядоченного пересечения/pre-order traversal order.
 

first-including-carryover

Специфицирует приоритет на запрос потомков объекта fo:marker, присоединённого к области, находящейся внутри содержащей страницы и предшествующей в дереве областей любой другой сходным образом сконструированной области, присоединённой к идентично именованному fo:marker, используя порядок предупорядоченного пересечения/pre-order traversal order.
 

last-starting-within-page

Специфицирует приоритет запросов потомков объекта fo:marker, присоединённого к области:

  • внутри содержащей страницы

  • чьё уточнение "is-first" установлено в "true"

и то, что она следует в дереве областей за любой другой сходным образом сконструированной области, присоединённой к идентично именованному fo:marker, используя порядок предупорядоченного пересечения/pre-order traversal order.
 

last-ending-within-page

Специфицирует приоритет на запрос потомков объекта fo:marker, присоединённого к области, находящейся внутри содержащей страницы, чьё уточнение "is-last" установлено в "true" и следующей в дереве областей за любой другой сходным образом сконструированной области, присоединённой к идентично именованному fo:marker, используя порядок предупорядоченного пересечения/pre-order traversal order.

Это свойство специфицирует приоритет запросов потомков объекта fo:marker объектом fo:retrieve-marker, базирующийся на областях, возвращаемых родителем объекта fo:marker относительно областей, возвращаемых родителями других идентично именованных объектов fo:marker.


7.23.4 "retrieve-boundary"

Определение XSL:

Значение: page | page-sequence | document
Начальное: page-sequence
Применяется: к  fo:retrieve-marker
Наследуется: нет
Процентное: N/A
Носитель: страничный

Термин "containing page/содержащая страница" используется здесь для обозначения страницы, содержащей первую область, генерируемую или возвращаемую потомками запрошенного fo:marker.

Значения имеют следующий смысл:

page

Специфицирует, что потомки любого объекта fo:markers, чей родитель сгенерирован или возвращён нормальной областью внутри содержащей страницы или сгенерирован ненормальной областью внутри содержащей страницы, могут быть запрошены этим fo:retrieve-marker.

page-sequence

Специфицирует, что только потомки объекта fo:markers, являющиеся потомками объекта fo:flow внутри содержащей последовательности fo:page-sequence, могут быть запрошены этим fo:retrieve-marker.

document

Специфицирует, что потомки любого объекта fo:marker, являющиеся потомками объекта fo:flow внутри документа, могут быть запрошены этим fo:retrieve-marker.



7.24 Свойства Конвертации Чисел в Строки

7.24.1 "format"

Определение XSL:

Значение: <string>
Начальное: 1
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: все

Это свойство определено в [XSLT]: Number to String Conversion Attributes/Атрибуты Конвертации Числа в Строку.


7.24.2 "grouping-separator"

Определение XSL:

Значение: <character>
Начальное: no separator/нет разделителя
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: все

Это свойство определено в [XSLT]: Number to String Conversion Attributes/Атрибуты Конвертации Числа в Строку.

7.24.3 "grouping-size"

Определение XSL:

Значение: <number>
Начальное: no grouping/нет группировки
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: все

Это свойство определено в [XSLT]: Number to String Conversion Attributes/Атрибуты Конвертации Числа в Строку.


7.24.4 "letter-value"

Определение XSL:

Значение: auto | alphabetic | traditional
Начальное: auto
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: все

Это свойство определено в [XSLT]: Number to String Conversion Attributes/Атрибуты Конвертации Числа в Строку. Значение "auto" соответствует определению XSLT для случаев, когда этот атрибут не специфицирован.



7.25 Свойства Структуры и Разбивки на Страницы

Следующие свойства есть только в XSL.

7.25.1 "blank-or-not-blank"

Определение XSL:

Значение: blank | not-blank | any | inherit
Начальное: any
Применяется: к  fo:conditional-page-master-reference
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Это свойство формирует часть правила отбора для определения того, имеет ли право мастер-страница, на которую ссылаются, быть выбранной в данной точке последовательности страниц/page-sequence.

Значения имеют следующий смысл:

blank

Этот мастер может быть выбран, если страница обязана быть сгенерирована (например, для поддержки чередования чётности страниц в начале или в конце последовательности страниц) и отсутствуют области из объекта fo:flow, помещаемые на эту страницу.

not-blank

Этот мастер может быть выбран, если эта страница содержит области из fo:flow.

any

Этот мастер всегда может быть выбран.


7.25.2 "column-count"

Определение XSL:

Значение: <number> | inherit
Начальное: 1
Применяется: к  fo:region-body
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<integer>

Положительное целое число. Если задано отрицательное или нецелое число, значение будет округлено до ближайшего целого, большего или равного 1.

Специфицирует количество столбцов в регионе.

Значение 1 означает, что это не многостолбцовый регион.


7.25.3 "column-gap"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 12.0pt
Применяется: к  fo:region-body
Наследуется: нет
Процентное: относительно ширины региона, разделяемого на столбцы.
Носитель: визуальный

Значения имеют следующий смысл:

<length>

Беззнаковая величина. Если задано отрицательное значение, то будет использоваться значение 0pt.

<percentage>

Значение является процентным от размера inline-progression-dimension прямоугольника содержимого этого региона.

Специфицирует ширину разделения между смежными столбцами многостолбцового региона. См. детали в описании [6.4.13 fo:region-body].


7.25.4 "extent"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 0.0pt
Применяется: к  fo:region-before, fo:region-after, fo:region-start, fo:region-end
Наследуется: нет
Процентное: относительно ширины или высоты области reference-area региона.
Носитель: визуальный

Значения имеют следующий смысл:

<length>

Беззнаковая величина. Если задано отрицательное значение, то будет использоваться значение 0pt.

<percentage>

Значение является процентным от соответствующей ширины или высоты страницы.

Специфицирует ширину region-start или region-end или высоту region-before или region-after.


7.25.5 "flow-name"

Определение XSL:

Значение: <name>
Начальное: пустое имя
Применяется: к  fo:flow, fo:static-content
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<name>

Имя, используемое как идентификатор, обязано быть уникальным в пределах последовательности fo:page-sequence.

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

Определяет имя потока.

Имя потока и имя региона используются для назначения содержимого потока (или статического содержимого) специфическому региону или серии регионов в структуре. В XSL это выполняется путём специфицирования имени региона назначения как имени потока/flow-name. (Например, текст, помещённый в тело региона/region-body, будет специфицировать flow-name="xsl-region-body".)

ПРИМЕЧАНИЕ

В XSL зарезервированы имена потоков: xsl-region-body, xsl-region-before, xsl-region-after, xsl-region-start, xsl-region-end, xsl-before-float-separator, xsl-footnote-separator.


7.25.6 "force-page-count"

Определение XSL:

Значение: auto | even | odd | end-on-even | end-on-odd | no-force | inherit
Начальное: auto
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Force-page-count используется для ввода ограничения на количество страниц в последовательности страниц. В случае, когда это ограничение не выполняется, дополнительная страница будет добавляться в конце этой последовательности. Эта страница становится "last"/последней страницей последовательности.

Значения имеют следующий смысл:

auto

Форсирует последнюю страницу в этой последовательности страниц в нечётную, если начальный номер следующей последовательности страниц - чётный. Форсирует последнюю страницу в этой последовательности страниц в чётную, если начальный номер следующей последовательности страниц - нечётный. Если последующая последовательность страниц отсутствует или если значение её initial-page-number равно "auto", не форсирует никаких страниц.

even

Форсирует чётные номера страниц в данной последовательности страниц/page-sequence.

odd

Форсирует нечётные номера страниц в данной последовательности страниц.

end-on-even

Форсирует последнюю страницу данной последовательности страниц как чётную/even-page.

end-on-odd

Форсирует последнюю страницу данной последовательности страниц как нечётную/odd-page.

no-force

не форсирует ни чётных, ни нечётных номеров страниц в данной page-sequence

ПРИМЕЧАНИЕ:

Является ли страница чётной или нечётной, определяется из уточнения page-number.


7.25.7 "initial-page-number"

Определение XSL:

Значение: auto | auto-odd | auto-even | <number> | inherit
Начальное: auto
Применяется: к  fo:page-sequence
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

Начальное значение будет установлено в 1, если в документе отсутствует предыдущий fo:page-sequence.
Если имеется предшествующая последовательность страниц/page-sequence, начальный номер будет больше, чем последний номер предшествующей последовательности.

auto-odd

Значение определяется тем же способом, что и для "auto". Если значение чётное, добавляется 1.

auto-even

Значение определяется тем же способом, что и для "auto". Если значение нечётное, добавляется 1.

<integer>

Положительное целое число. Если задано отрицательное или нецелое число, значение будет округлено до ближайшего целого, большего или равного 1.

Устанавливает номер первой страницы/initial-page-number для данной последовательности страниц/page-sequence.


7.25.8 "master-name"

Определение XSL:

Значение: <name>
Начальное: пустое имя
Применяется: к  fo:simple-page-master, fo:page-sequence-master
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<name>

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

Если это свойство специфицировано для fo:simple-page-master, оно предоставляет имя, идентифицирующее мастер. На это имя последовательно ссылаются как на значение свойств ОФ - fo:single-page-master-reference, fo:repeatable-page-master-reference и fo:conditional-page-master-reference - при запросах этого мастера в процессе создания экземпляра страницы. Оно может использоваться также в объекте fo:page-sequence для специфицирования использования данного мастера при создании экземпляров страниц.

Если это свойство специфицировано для fo:page-sequence-master, оно предоставляет имя, идентифицирующее мастер. На это имя последовательно ссылаются как на значение свойств объекта fo:page-sequence при запросах на использование это мастера page-sequence-master в процессе создания экземпляров страниц.

Имя master-name обязано быть уникальным среди всех мастер-страниц и мастеров последовательности страниц.

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


7.25.9 "master-reference"

Определение XSL:

Значение: <name>
Начальное: пустое имя
Применяется: к  fo:page-sequence, fo:single-page-master-reference, fo:repeatable-page-master-reference, fo:conditional-page-master-reference
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<name>

Имя не должно быть уникальным, но не может быть пустым и обязано ссылаться на мастер-имя, существующее в этом документе.

Выбор мастера:

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


7.25.10 "maximum-repeats"

Определение XSL:

Значение: <number> | no-limit | inherit
Начальное: no-limit
Применяется: к  fo:repeatable-page-master-reference, fo:repeatable-page-master-alternatives
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Специфицирует ограничение на максимальное количество страниц в субпоследовательности страниц, которые могут генерироваться объектом fo:page-sequence, использующим мастера fo:repeatable-page-master-reference или fo:repeatable-page-master-alternatives, для которого это свойство специфицировано.

Значения имеют следующий смысл:

no-limit

Ограничения не специфицированы.

<integer>

Максимальное количество страниц в субпоследовательности.

Значение - целое число, большее чем или равное 0.

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

Значение 0 обозначает, что эта мастер-ссылка/master-reference не будет использоваться.


7.25.11 "media-usage"

Определение XSL:

Значение: auto | paginate | bounded-in-one-dimension | unbounded
Начальное: auto
Применяется: к  fo:root
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Свойство "media-usage" используется для управления тем, как выбранный носитель вывода, специфицированный таблицей стилей, используется для представления страницы (страниц).

Значения этого свойства имеют следующий смысл:

auto

Пользовательский агент (ПА) определяет, какое значение "media-usage" (отличное от "auto") использовать. При определении ПА может учитывать тип носителя, на котором производится представление.

ПРИМЕЧАНИЕ:

Например, ПА может использовать следующий процесс определения. Если носитель не непрерывный и имеет ограниченный фиксированный размер, тогда используется "paginate" (описано далее). Иначе используется "bounded-in-one-dimension".

paginate

Последовательность страниц генерируется из объектов fo:page-sequence, которые являются потомками объекта fo:root, как описано в [6.4.5 fo:page-sequence].

bounded-in-one-dimension

Генерируется только одна страница на объект fo:page-sequence потомок объекта fo:root. Только "page-height" или только "page-width" обязано быть специфицировано на первой используемой мастер-странице. Размер страницы по другим измерениям определяется содержимым потока страницы.

Является ошибкой, если специфицировано более одного "page-height" или "page-width" на первой используемой мастер-странице. ПА может исправлять это так: Исправление зависит от "reference-orientation" мастер-страницы и "writing-mode" региона мастер-страницы, которой назначен fo:flow. Есть 4 варианта:
(1) - ориентация "reference-orientation" равна "0" или "180" и "writing-mode" - горизонтальный;
(2) "reference-orientation" равна "0" или "180" и "writing-mode" - вертикальный;
(3) "reference-orientation" равна "90" или "270" и "writing-mode" - горизонтальный;
(4) "reference-orientation" равна "90" или "270" и "writing-mode" - вертикальный.
Для вариантов (1) и (4) - "page-width" ограничена, а "page-height" - не ограничена.
Для вариантов (2) и (3) - "page-height" ограничена, а "page-width" - не ограничена.

unbounded

Генерируется только одна страница на объект fo:page-sequence потомок объекта fo:root. Ни "page-height", ни "page-width" не могут быть специфицированы на первой используемой мастер-странице. Если значение этого свойства специфицировано, это является ошибкой, и ПА может исправлять ситуацию путём игнорирования специфицированного значения. Каждая страница начинается от краёв before-edge и start-edge страницы, и страница расширяется, насколько нужно, по направлению к after-edge и end-edge, чтобы вместить всё содержимое последовательности страниц, генерирующей эту страницу.

ПРИМЕЧАНИЕ:

Это подразумевает, что никакое текстовое содержимое автоматически не переносится; то есть каждый блок будет иметь одну строку для каждого узла текста, не содержащего символ U+000A. Если генерируется более одной строки, тогда последовательность символов, которая генерировала глифы в каждой такой строке, обязана быть ограничена пределами оригинального текстового узла либо началом или концом узла текста, либо символом U+000A внутри этого текстового узла. Управление работой с символом U+000A описано в [7.15.7 "linefeed-treatment"].


7.25.12 "odd-or-even"

Определение XSL:

Значение: odd | even | any | inherit
Начальное: any
Применяется: к  fo:conditional-page-master-reference
Наследуется: нет
Процентное: N/A
Носитель: визуальный

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

Значения имеют следующий смысл:

odd

Этот мастер может быть выбран, если номер страницы - нечётный.

even

Этот мастер может быть выбран, если номер страницы - чётный.

any

Этот мастер может быть выбран вне зависимости от того, является номер страницы чётным или нечётным.

ПРИМЕЧАНИЕ:

"Page number"/номер страницы относится к уточнению page-number для генерируемой страницы.


7.25.13 "page-height"

Определение XSL:

Значение: auto | indefinite | <length> | inherit
Начальное: auto
Применяется: к  fo:simple-page-master
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

"page-height" должна будет определяться, в случае с непрерывным носителем, по размеру окна ПА, либо по размеру носителя. Если информация о носителе недоступна, этот размер должен будет определяться реализацией.

ПРИМЕЧАНИЕ:

Запасной вариант 11.0in подойдёт и для страниц размера Letter (8.5in на 11.0in), и для A4.

indefinite/бесконечный

Высота страницы определяется размером выводимого содержимого.

"Page-width" и "page-height" не могут быть установлены одновременно в "indefinite". Если вдруг это произошло, размер, параллельный направлению block-progression-direction, определённому ориентацией "reference-orientation" и режимом письма/"writing-mode" для fo:simple-page-master, области page-reference-area останется "indefinite", а другой преобразуется в "auto".

<length>

Специфицирует фиксированную высоту страницы.

Специфицирует высоту страницы.

ПРИМЕЧАНИЕ:

Предполагается, что значения свойств "page-width" и "page-height" разрешают специфицирование размера для обслуживания работы с наборами фрэймов в окне браузера, если носитель - непрерывный, и соответствуют страницам, когда носитель - страничный.

ПА может предоставлять способ объявления типа носителя для сделанного форматирования. Он может отличаться от носителя, на котором виден результат форматирования. Например, ПА - браузер может использоваться для просмотра страниц, отформатированных для страничного носителя. В этом случае расчёт размера базируется на носителе, для которого выполнено форматирование, а не на текущем используемом носителе.


7.25.14 "page-position"

Определение XSL:

Значение: first | last | rest | any | inherit
Начальное: any
Применяется: к  fo:conditional-page-master-reference
Наследуется: нет
Процентное: N/A
Носитель: визуальный

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

Значения имеют следующий смысл:

first

Этот мастер может быть выбран, если это первая страница в последовательности страниц.

last

Этот мастер может быть выбран, если это последняя страница в последовательности страниц.

rest

Этот мастер может быть выбран, если это не первая и не последняя страница в последовательности страниц.

any

Этот мастер может быть выбран вне зависимости от позиции страницы в последовательности страниц.


7.25.15 "page-width"

Определение XSL:

Значение: auto | indefinite | <length> | inherit
Начальное: auto
Применяется: к  fo:simple-page-master
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto

"page-width" должна будет определяться, в случае с непрерывным носителем, по размеру окна ПА, либо по размеру носителя. Если информация о носителе недоступна, этот размер должен будет определяться реализацией.

ПРИМЕЧАНИЕ:

Запасной вариант 8.26in подойдёт и для страниц размера 8+1/2x11, и для A4.

indefinite

Ширина страницы определяется размером выводимого содержимого.

"Page-width" и "page-height" не могут быть установлены одновременно в "indefinite". Если вдруг это произошло, размер, параллельный направлению block-progression-direction, определённому ориентацией "reference-orientation" и режимом письма/"writing-mode" для fo:simple-page-master, области page-reference-area останется "indefinite", а другой преобразуется в "auto".

<length>

Специфицирует фиксированную ширину страницы.

Специфицирует ширину страницы.


7.25.16 "precedence"

Определение XSL:

Значение: true | false | inherit
Начальное: false
Применяется: к  fo:region-before, fo:region-after
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

false

Значение false специфицирует, что этот регион не расширяется до краёв start-edge и end-edge прямоугольника содержимого области page-reference-area, а его размер inline-progression-dimension уменьшается под влиянием соседних регионов.

true

Значение true специфицирует, что inline-progression-dimension этого региона расширяется до краёв start-edge и end-edge прямоугольника содержимого области page-reference-area.

Специфицирует, какой регион (т.е. region-before, region-after, region-start или region-end) имеет приоритет в условиях, когда он может расширяться до углов мастера простой страницы/simple-page-master.


7.25.17 "region-name"

Определение XSL:

Значение: xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator | xsl-footnote-separator | <name>
Начальное: см. описание
Применяется: к  fo:region-body, fo:region-start, fo:region-end, fo:region-before и fo:region-after
Наследуется: нет, требуется значение
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

xsl-region-body

Зарезервированное имя региона/region-name для использования в качестве имени по умолчанию для объекта fo:region-body. Это имя не может быть использовано каким-либо другим классом региона.

xsl-region-start

Зарезервированное region-name для использования в качестве имени по умолчанию для объекта fo:region-start. Это имя не может быть использовано каким-либо другим классом региона.

xsl-region-end

Зарезервированное region-name для использования в качестве имени по умолчанию для объекта fo:region-end. Это имя не может быть использовано каким-либо другим классом регион.

xsl-region-before

Зарезервированное region-name для использования в качестве имени по умолчанию для объекта fo:region-before. Это имя не может быть использовано каким-либо другим классом регион.

xsl-region-after

Зарезервированное region-name для использования в качестве имени по умолчанию для объекта fo:region-after. Это имя не может быть использовано каким-либо другим классом регион.

xsl-before-float-separator

Зарезервированное имя для содержимого, используемого в качестве разделителя у края end-edge области before-float-reference-area. Это имя не может быть использовано каким-либо другим классом регион.

xsl-footnote-separator

Зарезервированное имя для содержимого, используемого в качестве разделителя у края start-edge области footnote-reference-area. Это имя не может быть использовано каким-либо другим классом регион.

<name>

Имена, используемые в качестве идентификаторов, обязаны быть уникальными в пределах мастер-страницы.

Это свойство используется для идентификации региона внутри мастера simple-page-master.

"region-name" может использоваться для отличения региона, расположенного на мастер-странице для нечётных страниц, от региона, расположенного на мастер-странице для чётных страниц. При таком использовании, если имя используется для специфического класса региона once (start, end, before, after или body), оно может использоваться только однократно для регионов того же класса в любой другой мастер-странице. Зарезервированные имена могут использоваться только способами, описанными выше.



7.26 Свойства Таблиц

7.26.1 "border-after-precedence"

Определение XSL:

Значение: force | <integer> | inherit
Начальное: fo:table: 5, fo:table-cell: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
Применяется: к  fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-row, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

force

Приоритет - выше, чем у любого <integer>.

<integer>

Числовая спецификация приоритета. Большее значение - более высокий приоритет.

Специфицирует приоритет спецификации рамки на данном ОФ для border-after.


7.26.2 "border-before-precedence"

Определение XSL:

Значение: force | <integer> | inherit
Начальное: fo:table: 5, fo:table-cell: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
Применяется: к  fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-row, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Специфицирует приоритет спецификации рамки на данном ОФ для border-before.

См. определение свойства border-after-precedence ([7.26.1 "border-after-precedence"]).


7.26.3 "border-collapse"

Определение CSS2:

Значение: collapse | collapse-with-precedence | separate | inherit
Начальное: collapse
Применяется: к  table/таблице
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse.

collapse

Значение "collapse" выбирает модель сжимающихся рамок.

separate

Значение  "separate" выбирает модель разделённых рамок.

Это свойство выбирает модель рамки таблицы. Значение "separate" выбирает модель разделённых рамок. Значение "collapse" выбирает модель сжимающихся рамок.

Модификации XSL определения CSS:

XSL добавляет следующее значение:

collapse-with-precedence

Значение "collapse-with-precedence"  выбирает модель сжимающихся рамок и использование свойств приоритета для разрешения конфликтов.


7.26.4 "border-end-precedence"

Определение XSL:

Значение: force | <integer> | inherit
Начальное: fo:table: 5, fo:table-cell: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
Применяется: к  fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-row, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Специфицирует приоритет спецификации рамки для данного ОФ у border-end.

См. определение свойства border-after-precedence ([7.26.1 "border-after-precedence"]).


7.26.5 "border-separation"

Определение XSL:

Значение: <length-bp-ip-direction> | inherit
Начальное: .block-progression-direction="0pt" .inline-progression-direction="0pt"
Применяется: к table/таблице
Наследуется: да
Процентное: N/A
Носитель: визуальный

<length-bp-ip-direction>

Эти размеры специфицирую расстояние, разделяющее рамки смежных ячеек в направлении row-stacking-direction (задаваемом направлением block-progression-direction таблицы), и направление column-stacking-direction (задаваемом направлением inline-progression-direction таблицы).

В модели раздельных рамок каждая ячейка имеет индивидуальную рамку. Свойство "border-separation" специфицирует расстояние между рамками смежных ячеек. Это пространство заполняется фоном элемента таблицы. Ряды, столбцы, группы рядов и группы столбцов не могут иметь рамок (т.е. ПА обязаны игнорировать свойства рамки для этих элементов).


7.26.6 "border-start-precedence"

Определение XSL:

Значение: force | <integer> | inherit
Начальное: fo:table: 5, fo:table-cell: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
Применяется: к  fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-row, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Специфицирует приоритет спецификации рамки для данного ОФ у border-start.

См. определение свойства border-after-precedence ([7.26.1 "border-after-precedence"]).


7.26.7 "caption-side"

Определение CSS2:

Значение: before | after | start | end | top | bottom | left | right | inherit
Начальное: before
Применяется: к  fo:table-and-caption
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#q6.

top

Позиционирует бокс заголовка над боксом таблицы.

bottom

Позиционирует бокс заголовка под боксом таблицы.

left

Позиционирует бокс заголовка слева от бокса таблицы.

right

Позиционирует бокс заголовка справа от бокса таблицы.

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

Заголовки над и под элементом "table" форматируются совершенно одинаково, как если бы они были элементами блока до и после таблицы, за исключением то, что
(1) они наследуют наследуемые свойства таблицы и
(2) они не рассматриваются как бокс блока для целей элементов "compact" или "run-in", которые могут предшествовать этой таблице.

Поведение заголовка над или под боксом таблицы похоже также на поведение бокса блока при вычислениях ширины; ширины высчитывается относительно ширины содержащего блока бокса таблицы.

С другой стороны, для заголовка, находящегося у правой или у левой стороны бокса таблицы, значение для "width", отличное от "auto", устанавливает ширину явно, но "auto" сообщает ПАгенту, что нужно использовать "осмысленную ширину/reasonable width". Она может быть в пределах от "самого узкого возможного бокса" до "одиночной строки", поэтому мы рекомендуем, чтобы пользователи не специфицировали "auto" для ширины левого и правого заголовков.

Для выравнивания содержимого заголовка таблицы по горизонтали внутри бокса заголовка используйте свойство "text-align".
Для вертикального выравнивания бокса левого или правого заголовка относительно бокса таблицы используйте свойство "vertical-align". Значащими являются в этом случае только значения "top", "middle", и "bottom". Все прочие значения обрабатываются как "top".

Модификации XSL определения CSS:

Вставляет следующие значения, зависящие от режима письма:

before

Позиционирует заголовок перед таблицей в направлении block-progression-direction.

after

Позиционирует заголовок после таблицы в направлении block-progression-direction.

start

Позиционирует заголовок перед таблицей в направлении inline-progression-direction.

end

Позиционирует заголовок после таблицы в направлении inline-progression-direction.

Квалификации CSS (1) и (2) не применяются. Последние три предложения в последнем параграфе (касающиеся "vertical-align") не применяются.


7.26.8 "column-number"

Определение XSL:

Значение: <number>
Начальное: см. описание
Применяется: к  fo:table-column, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

<integer>

Положительное целое. Если задано отрицательное или нецелое значение, оно округляется до ближайшего целого, большего или равного 1.

Для ОФ fo:table-column оно специфицирует номер столбца/column-number ячейки таблицы, который (ОФ?) может использовать свойства из этого ОФ fo:table-column посредством функции from-table-column() Начальное значение: 1 плюс номер столбца предыдущего столбца таблицы, если этот предыдущий столбец имеется, либо 1 - в противном случае.

Для fo:table-cell оно специфицирует номер первого столбца, захватываемого ячейкой таблиц. Начальное значение - это текущий номер столбца. Для первой ячейки таблицы в ряду таблицы текущий номер столбца равен 1. Для других ячеек таблицы - текущий номер столбца это номер столбца предыдущей ячейки ряда плюс количество столбцов, захваченных этой предыдущей ячейкой.

ПРИМЕЧАНИЕ:

Для номеров столбцов отсутствует требование монотонного возрастания от ОФ к ОФ.


7.26.9 "column-width"

Определение XSL:

Значение: <length> | <percentage>
Начальное: см. описание
Применяется: к  fo:table-column
Наследуется: нет
Процентное: относительно ширины таблицы
Носитель: визуальный

<length>

Свойство "column-width" специфицирует ширину столбца, значение которого задаётся свойством "column-number". Это свойство, если имеется, игнорируется, если свойство "number-columns-spanned" больше 1. Свойство "column-width" обязано быть специфицировано для каждого столбца, если только не используется автоматическая структура таблицы.

ПРИМЕЧАНИЕ:

Разрешается использовать только функцию "proportional-column-width()", если используется фиксированная структура таблицы.

Если необходимо использовать пропорциональную ширину столбцов таблицы с не установленной явно шириной, направление inline-progression-dimension не может быть специфицировано как "auto". Вместо этого ширина обязана быть специфицирована как процентное значение. Например, установка table-layout="fixed" и inline-progression-dimension="100%" даст возможность установить пропорциональную ширину столбцов, создавая одновременно таблицу, максимально широкую в данном контексте.

ПРИМЕЧАНИЕ:

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


7.26.10 "empty-cells"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x79

Значение: show | hide | inherit
Начальное: show
Применяется:к ячейке таблицы/table-cell
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-empty-cells.

show

Если это свойство имеет значение "show", рамки прорисовываются вокруг пустых ячеек (как у нормальных ячеек).

hide

Значение "hide" означает, что никакие рамки не прорисовываются вокруг пустых ячеек. Кроме того, если все ячейки ряда имеют значение "hide" и не имеют видимого содержимого, весь ряд ведёт себя так, будто он имеет значение "display: none".

В модели раздельных рамок это свойство управляет выводом рамок вокруг ячеек и выводом фона ячеек, не имеющих видимого содержимого. Пустые ячейки и ячейки со свойством "visibility", установленным в "hidden", рассматриваются как не имеющие видимого содержимого. Видимое содержимое включает "&nbsp;" (non-breaking-space/неразрывающий пробел) и другие пробелы, исключая ASCII CR ("\0D"), LF ("\0A"), tab ("\09") и space ("\20").


7.26.11 "ends-row"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

true

Эта ячейка заканчивает ряд.

false

Эта ячейка не заканчивает ряд.

Специфицирует, заканчивает ли ячейка ряд. Это разрешено только для ячеек, не входящих в ряды таблицы.


7.26.12 "number-columns-repeated"

Определение XSL:

Значение: <number>
Начальное: 1
Применяется: к  fo:table-column
Наследуется: нет
Процентное: N/A
Носитель: визуальный

<integer>

Положительное целое. Если задано отрицательное или нецелое значение, оно округляется до ближайшего целого, большего или равного 1.

Свойство "number-columns-repeated" повторение спецификации столбца таблицы n раз; с тем же результатом ОФ fo:table-column может повторяться n раз в результирующем дереве. Свойство "column-number", для всех, кроме первого, является номером предыдущего столбца плюс его значение свойства "number-columns-spanned".

ПРИМЕЧАНИЕ:

Здесь обрабатывается элемент "colgroup" из HTML.


7.26.13 "number-columns-spanned"

Определение XSL:

Значение: <number>
Начальное: 1
Применяется: к  fo:table-column, fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

<integer>

Положительное целое. Если задано отрицательное или нецелое значение, оно округляется до ближайшего целого, большего или равного 1.

Для fo:table-column свойство "number-columns-spanned" специфицирует количество захватываемых ячейками столбцов, которые (столбцы/ячейки?) могут использовать свойства из этого ОФ fo:table-column через функцию from-table-column()

Для объекта fo:table-cell свойство "number-columns-spanned" специфицирует количество захватываемых ячейкой столбцов в направлении column-progression-direction, начиная с текущего столбца.


7.26.14 "number-rows-spanned"

Определение XSL:

Значение: <number>
Начальное: 1
Применяется: к  fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

<integer>

Положительное целое. Если задано отрицательное или нецелое значение, оно округляется до ближайшего целого, большего или равного 1.

Свойство "number-rows-spanned" специфицирует количество захватываемых ячейкой рядов в направлении row-progression-direction, начиная с текущего столбца.

7.26.15 "starts-row"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:table-cell
Наследуется: нет
Процентное: N/A
Носитель: визуальный

true

Эта ячейка начинает ряд.

false

Эта ячейка не начинает ряд.

Специфицирует, начинает ли данная ячейка ряд. Это разрешено только для ячеек, не входящих в ряды таблицы.

ПРИМЕЧАНИЕ:

Свойства "starts-row" и "ends-row" со значением "true" используются обычно тогда, когда данные ввода не имеют элементов, содержащих ячейки в каждом ряду, но, вместо этого, например, каждый ряд начинает элемент определённого типа.


7.26.16 "table-layout"

Определение CSS2:

Значение: auto | fixed | inherit
Начальное: auto
Применяется: к таблице
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-table-layout.

fixed

Используется алгоритм фиксированной структуры таблицы.

auto

Используется алгоритм автоматической структуры таблицы

Свойство "table-layout" управляет алгоритмом, используемым для структурирования ячеек, рядов и столбцов таблицы.


7.26.17 "table-omit-footer-at-break"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:table
Наследуется: нет
Процентное: N/A
Носитель: визуальный

true

Футер может быть пропущен.

false

Футер не должен быть пропущен.

Свойство "table-omit-footer-at-break" специфицирует, должна таблица, чья последняя область не находится  в конце области, производимой таблицей, заканчиваться содержимым ОФ fo:table-footer или нет.


7.26.18 "table-omit-header-at-break"

Определение XSL:

Значение: true | false
Начальное: false
Применяется: к  fo:table
Наследуется: нет
Процентное: N/A
Носитель: визуальный

true

"Шапка" должна быть пропущена.

false

"Шапка" не должна быть пропущена.

Свойство "table-omit-header-at-break" специфицирует, должна таблица, чья первая область не находится  в начале области, производимой таблицей, начинаться содержимым ОФ fo:table-header или нет.



7.27 Свойства Режима Письма

Свойства из этого раздела управляют установками направлений inline-progression-direction, block-progression-direction и ориентации глифов, помещаемых на базовой линии в направлении inline-progression-direction. Свойство "writing-mode" устанавливает и "inline-progression-direction", и "block-progression-direction".

Свойств ориентации глифов, "glyph-orientation-horizontal" и "glyph-orientation-vertical", устанавливают ориентацию глифов относительно ориентации глифов по умолчанию. Ориентация по умолчанию для глифов - это когда верх глифа ориентирован по верху области reference-area, потомком которой является эта глиф-область; то есть, ориентация глифа - та же, что и reference-orientation области reference-area. Глифы, ориентированные на '90' или '-90' градусов от ориентации reference-orientation, называются rotated glyphs/повёрнутыми глифами. Глифы, ориентированные на 180 градусов от ориентации reference-orientation, называются inverted glyphs/перевёрнутыми глифами.

Свойство "direction" (контролируемое свойством "unicode-bidi") действует только на текст, в котором ориентация глифов перпендикулярна доминантной базовой линии/dominant-baseline. Для горизонтальных режимов письма свойство "direction" действует только на последовательности символов, генерирующие неповёрнутые глифы. Для вертикальных режимов письма свойство "direction" действует только на последовательности символов, генерирующие повёрнутые глифы.

Следующий фрагмент XML иллюстрирует взаимодействие свойств "writing-mode," "direction" и "glyph-orientation-vertical".

Picture of the source of a sample XML file. A 't' element contains (in that order): an ideogram, a 't-s1' element containing a word in Roman script, a 't-s2' element containing a word in Hebrew script, and an other ideogram.

Разметка текста в следующем рисунке

В разметке XML на вышеприведённом рисунке символы представлены в их презентационной форме (а не в точках Unicode). Порядок вывода символов это порядок их хранения. Еврейские символы в третьей строке являются (слева направо) первыми четырьмя буквами еврейского алфавита: aleph, beth, gimel и daleth. Общие идентификаторы в разметке XML являются произвольными, но предназначены для понимания последовательности текста из двух кусков (текста).

Следующий рисунок показывает действие спецификации набора значений для свойств "direction" и "glyph-orientation-vertical", которые специфицированы в трёх элементах из предыдущего фрагмента XML. Во всех случаях "writing-mode" установлен в "tb-rl". И во всех случаях алгоритм Unicode BIDI [UNICODE UAX #9] применён к символам, которые являются детьми или потомками элемента <t>, иногда с явной разметкой направления, в терминах свойства "direction", иногда - с использованием внутренних/имеющихся свойств направления символов. Алгоритм Unicode BIDI применяется на последнем шаге очистки (см. раздел [5 Очистка/Разрешение Свойств]) и до отображения/mapping символов в глифы и применения любой ротации в соответствии со значением glyph-orientation.

На рисунке показано 7 возможных представлений фрагмента XML, одно - со всеми глифами, имеющими вертикальную ориентацию, и 6 - с различными комбинациями перпендикулярных ориентации глифов и направления. На рисунке верный порядок чтения глифов (слева-направо для Latin и справа-налево для Hebrew субпоследовательностей) показан (красной) стрелкой, помещённой на алфавитной базовой линии под глифами.

Шесть комбинаций свойств "direction" и "glyph-orientation-vertical", дающих варианты со (2) по (7), имеют свойство, которое сохраняет корректный порядок заполнения, когда глифы просматриваются по вертикали. Для некоторых случаев нужно повернуть страницу так, чтобы просмотреть глифы определённого языка. Порядок чтения сохраняется путём комбинирования визуального переупорядочивания глифов с использованием алгоритма Unicode BIDI с glyph-orientation, что гарантирует правильный порядок чтения для упорядочивания глифов, являющийся результатом применения алгоритма Unicode BIDI. Иногда необходимо явно специфицировать свойство "direction" для форсирования нужного визуального порядка глифов.

Спецификация свойств, дающая эти 6 представлений, дана в таблице после рисунка.

This figure shows all seven types of rotations of a sample vertical text containing (in that order) an ideogram, a word in Roman script, a word in Hebrew script and another ideogram. (1) all glyphs are rotated individually and displayed top-to-bottom, (2) The Roman and Hebrew words are rotated as wholes and are laid out top-to-bottom and bottom-to-top respectively, (3) top-to-bottom and top-to-bottom, (4) bottom-to-top and top-to-bottom, (5) bottom-to-top an bottom-to-top, Hebrew word at the top, (6) top-to-bottom and bottom-to-top, Hebrew word at the top, (7) bottom-to-top and top-to-bottom, Hebrew word at the top.

Получаемая ротация текста Bidi

Таблица: Свойства, дающие вышеприведённый рисунок.
Элементы/Варианты <t> <t-s1> <t-s2>

(2)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: 90 glyph-orientation-vertical: 90

(3)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: 90 glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(4)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(5)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

glyph-orientation-vertical: 90

(6)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(7)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: 90

unicode-bidi: embed

direction: ltr

glyph-orientation-vertical: 90
ПРИМЕЧАНИЕ:
  1. Вариант (1) не содержит повёрнутого текста. Это происходит либо из-за того, что "glyph-orientation-vertical" установлено в "0", либо из-за того, что оно установлено в "auto" и все символы в строке являются вариантами полной ширины символов. Если ориентация всех глифов - вертикальная, тогда переупорядочивания символов нет. Если "writing-mode" установлен в "tb-lr" или "tb-rl", тогда "direction" установлено в "ltr" и, соответственно, "writing-mode", установленный в "bt-lr" или "bt-rl", устанавливает "direction" в "rtl". Следовательно, нужно только явно установить свойство "direction", если оно будет другим, вместо установки набора "writing-mode"; например, варианты с (5) по (7).

  2. Вариант (2) может либо иметь явные установки свойств, показанные в таблице, либо свойство "glyph-orientation-vertical" в элементе <t> может иметь значение "auto" и английские и еврейские символы могут быть символами в половину ширины/half-width. (Конечно, никаких еврейских символов в реальном Unicode нет.) В этом случае переупоорядочивание символов получается из двунаправленных типов символов, которые назначаются каждому символу Unicode: символы Roman имеют тип "L" для "слева-направо", а еврейские символы имеют тип "R" - "справа-налево2.

  3. Варианты с (5) по (7) явно устанавливают свойство "direction" в "rtl". Это устанавливает уровень внедрения параграфа/paragraph embedding level для алгоритма Unicode BIDI справа налево. Даже если свойство "direction" установлено в "rtl", идеографическуие глифы не переупорядочиваются, поскольку их ориентация не перпендикулярна доминантной базовой линии.

  4. В вариантах (5) и (6) для элемента <t-s1>, свойство "unicode-bidi" установлено для переопределения, хотя явная спецификация свойства "direction" отсутствует. Используется наследуемое значение свойства "direction" (которое, в данном случае, "rtl").

  5. В варианте (7) для элемента <t-s1>, свойство "unicode-bidi" установлено  в "embed". Нет необходимости использовать "bidi-override", поскольку двунаправленный тип символа для содержимого элемента <t-s1> уже установлен в "L". (Использование значения "bidi-override" будет, однако, иметь тот же эффект, что и "embed".) Значение embed переустанавливает уровень внедрения содержимого <t-s1> в "слева-направо". Даже "embed" (и специфическая установка свойства "unicode-bidi") не нужна, поскольку двунаправленный тип символа, "L" для английских символов, достаточен для повышения уровня внедрения и вызывает упорядочивание символов слева направо. Установка свойства "direction" в "ltr" необходима, если свойство "unicode-bidi" отличается от "normal", поскольку наследуемое значение свойства "direction" - "rtl".

Если парные символы пунктуации, такие как скобки, были включены в один из кусков текста, то может понадобиться "отразить/mirror" эти символы, как описано в алгоритме Unicode BIDI. Отражение символа означает зеркальный поворот символа; например, отражение левой скобки делает её правой скобкой. Это гарантирует, что отражённые символы всегда соответствуют окружаемому ими тексту.

Если "glyph-orientation" символов, которым соответствуют эти глифы, равна "90" и уровень внедрения, на котором находятся символы - нечётный, тогда парные глифы должны отражаться. Альтернативно, если "glyph-orientation" символов, которым соответствуют эти глифы, равна "-90" и уровень внедрения, на котором находятся символы - чётный, тогда парные глифы должны отражаться. В предыдущем примере скобки, которые окружают латинский текст, не будут отражены в вариантах (2), (3) и (7), но должны быть отражены в вариантах с (4) по (6). В противоположность этому, скобки, окружающие еврейский текст, не будут отражаться в случаях с (4) по (6), но должны будут отражаться в случаях (2), (3) и (7).

Внутри строки вертикального текста, если значение свойства "glyph-orientation-vertical" равно "90", каждый изменяемый глиф поворачивается на 90 градусов по часовой стрелке. Эта ротация изменяет способ выравнивания повёрнутых глифов. Горизонтальная точка выравнивания повёрнутого глифа выравнивается с подходящей базовой линией из вертикальной таблицы базовых линий/baseline-table. Подходящая базовая линия - это базовая линия, идентифицированная свойством "alignment-baseline" символа(ов), который генерирует эту глиф-область. Например, если свойство "alignment-baseline" не специфицировано явно, латинские глифы выравниваются по (вертикальной) базовой линии "alphabetic", а некоторые индийские глифы выравниваются по (вертикальной) базовой линии "hanging".

ПРИМЕЧАНИЕ:

Если глиф, такой как глиф лигатуры или силлабический, генерируется из более чем одного символа, тогда все эти символы обязаны иметь одно значение свойства "alignment-baseline".

Позиции (вертикальные) базовых линий выбраны для того, чтобы гарантировать, что повёрнутые глифы не будут выдаваться слишком далеко (если вообще) за пределы строчной области для вертикальной строки, если свойство "line-stacking-strategy" имеет значение "line-height" или "font-height". В этом случае мы скажем, что повёрнутый текст выровнен правильно в вертикальной строчной области.

Чтобы сохранить свойство правильного выравнивания повёрнутого текста в вертикальной строке, когда свойство "glyph-orientation-vertical" имеет значение "-90", вертикальная таблица baseline-table обязана быть reflected/отражена до выравнивания повёрнутого текста. Пусть C будет значением смещения до базовой линии "central" в таблице базовых линий. Таблица базовых линий отражается путём отрицания каждого смещения в таблице базовых линий (где отрицание "-N" даёт "N") и добавления C дважды к каждому из отрицаемых смещений. Базовая линия "central" определена в разделе [7.13 Свойства Выравнивания Области].

Эта акция называется "отражением/reflecting", потому что смещение от оригинальной доминантной базовой линии в любую базовую линию отражённой таблицы базовых линий помещает эту базовую линию на противоположную от базовой линии "central" сторону, а расстояние от базовой линии "central" до этой базовой линии - то же самое, что и от базовой линии "central" до этой базовой линии в оригинальной (неотражённой) позиции. Короче говоря, позиции базовых линий отражаются вокруг базовой линии "central".

ПРИМЕЧАНИЕ:

Если X это смещение базовой линии X и C это смещение базовой линии "central", тогда -X+2*C = C+(C-X) . C+(C-X) это смещение базовой линии "central" плюс расстояние между "central" и базовой линией X, отражаемой базовой линией.

Отражение необходимо, поскольку обе базовые линии - "alphabetic" и "hanging" - находятся вблизи от внешних краёв вертикальной строчной области. Если бы глиф просто поворачивался на 180 градусов, тогда он отрывался бы от назначенной строчной области. Это предотвращается путём отражения базовых линий для глифов, перпендикулярных доминантной базовой линии, и тем, что они поворачиваются на 180 градусов от направления, для которого была предназначена эта базовая линия. Это последнее утверждение применимо так же точно и к горизонтальным базовым линиям.

Three examples of inline text with mixed glyph rotation and writing-modes. Described in detail below.

Рисунок иллюстрирует позиционирование повёрнутых и перевёрнутых глифов в вертикальном и горизонтальном режимах письма. Три примера показывают сначала некоторые глифы в обычном режиме письма, а затем некоторые нетипичные глифы в каждой из возможных ориентаций - 0, 90, 180 и -90 градусов - в этом же порядке. Точка выравнивания каждого глифа показана как маленькая "x", центр которой является точкой выравнивания/alignment-point.

Пример 1 показывает вертикальный режим письма "tb-rl". В нём содержатся идеографические глифы: "country" - как нормальный глиф и две последовательности глифов, "Ap" - как повёрнутые глифы. Заметьте, что в ориентации по умолчанию (0 градусов) и в перевёрнутой ориентации используются латинские глифы полной ширины; в двух других ориентациях используются пропорциональные латинские глифы. Имеется небольшое пустое пространство между пропорциональными и полными латинскими глифами. Доминантная базовая линия - то базовая линия "central" - показана голубым цветом. Отражённые базовые линии показаны для последней (-90 градусов) ротации. Заметьте, что позиция базовой линии "central" не изменилась после отражения таблицы базовых линий. Для перевёрнутых глифов и глифов с ротацией -90 градусов start-edge повёрнутого глифа находится на противоположной от неповёрнутого глифа стороне; отсюда, точка выравнивания на этом крае start не находится на крае, где таблицы шрифта нормально её помещают.

Примеры 2 и 3 показывают горизонтальный режим письма "lr-tb". они содержат последовательность латинских глифов - "Ap" - как их нормальные глифы. Example 2 поворачивает силлабический глиф Gurmukhi для "ji", а example 3 поворачивает идеографический глиф для "country". В example 2 полный силлабический глиф повёрнут на неделимое число единиц. Для ротаций на 90 и -90 градусов вертикальная точка выравнивания, выравнивающая по базовой линии "central", используется в обоих Examples.
Аналогично для перевёрнутого глифа - таблица базовых линий отражается. И для глифов с ротацией на 90 градусов, и для перевёрнутых глифов, край start-edge повёрнутого глифа находится на стороне, противоположной той, где находился неповёрнутый глиф; отсюда, точка выравнивания на этом крае start не находится на крае, где таблицы шрифта нормально её помещают.


7.27.1 "direction"

Определение CSS2:

Значение: ltr | rtl | inherit
Начальное: ltr
Применяется: ко всем элементам, но см. описание
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-direction.

Это свойство специфицирует базовое направление письма для блоков и направление внедрений и переопределений (см. [UNICODE UAX #9]) для алгоритма Unicode BIDI. Кроме того, оно специфицирует направление структуры столбцов таблицы, направление горизонтального переполнения и позицию неполной последней строки в блоке, когда 'text-align: justify'.

Значения этого свойства имеют следующий смысл:

ltr

Направление слева направо.

rtl

Направление справа налево.

Чтобы свойство 'direction' действовало на элементы инлайн-уровня, значение свойства 'unicode-bidi' обязано быть 'embed' или 'override'.

ПРИМЕЧАНИЕ:

Свойство 'direction', когда оно специфицировано для элементов столбцов таблицы, не наследуется ячейками столбца, поскольку столбцы не существуют в дереве документа. Таким образом, CSS не может с лёгкостью захватить правила наследования атрибута "dir", описанные в [HTML40], раздел 11.3.2.1.

Модификации XSL определения CSS:

Реализации обязаны поддерживать те значения "direction", определённые в этих Рекомендациях, которые необходимы для поддержки значений "writing-mode", поддерживаемых реализацией.


7.27.2 "glyph-orientation-horizontal"

Определение XSL:

Значение: <angle> | inherit
Начальное: 0deg
Применяется: к  fo:character
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<angle>

Угол ограничен значениями 0, 90, 180 и 270 градусов. ПА должен округлять угловое значение до ближайшего разрешённого значения.

Значение "0deg" означает, шта все глифы установлены с верхом, направленным к верху области reference-area. Верх области reference-area определяется reference-orientation области reference-area.

Значение "90deg" обозначает поворот на 90-градусов по часовой стрелке от ориентации "0deg".

Это свойство специфицирует ориентацию глифов относительно направления, специфицированного 'writing-mode'. Это свойство применяется только к тексту с горизонтальным режимом письма.

Значение этого свойства влияет как на выравнивание, так и на ширину глиф-областей, генерируемых для глифов. Если глиф ориентирован так, что он не перпендикулярен доминантной базовой линии/dominant-baseline, тогда вертикальная точка выравнивания/alignment-point повёрнутого глифа выравнивается с базовой линией выравнивания, соответствующей этому глифу. Базовая линия, по которой выравнивается глиф, это (горизонтальная) базовая линия, идентифицированная "alignment-baseline" для письма, к которому принадлежит глиф. Ширина глиф-области определяется из характеристики вертикальной ширины шрифта для глифа.


7.27.3 "glyph-orientation-vertical"

Определение XSL:

Значение: auto | <angle> | inherit
Начальное: auto
Применяется: к  fo:character
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

auto
  • Полноширинный идеографический и полноширинный латинский тексты (исключая идеографическую пунктуацию) будут установлены с ориентацией глифов в 0 градусов.

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

  • Неполноширинный текст будет установлен с glyph-orientation в 90 градусов.

    Это правило переориентации применяется только к неидеографическому тексту первого уровня. Все последующие внедрения режимов письма или процессинг BIDI будут базироваться на ротации первого уровня/first-level.

    ПРИМЕЧАНИЕ:
    • Это эквивалент установки неидеографической текстовой строки по горизонтально по bidi-правилу, затем - повороту результирующей последовательности инлайн-областей (одна область на каждое изменение направления глифа) на 90 градусов по часовой стрелке.

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

    • Определение того, какой символ должен автоматически разворачиваться, может варьировать в зависимости от ПА. Это определение базируется на сложном взаимодействии между свойствами страны, языка, письма, символов, контекста шрифта и символов. Рекомендуется консультироваться в Unicode TR 11 и различных JIS и других национальных стандартах.

<angle>

Угловые значения ограничены 0, 90, 180 и 270 градусами. ПА должен округлять угловое значение до ближайшего допустимого.

Значение "0deg" означает, шта все глифы установлены с верхом, направленным к верху области reference-area. Верх области reference-area определяется reference-orientation области reference-area.

Значение "90deg" обозначает поворот на 90-градусов по часовой стрелке от ориентации "0deg".

Это свойство специфицирует ориентацию глифов относительно направления, специфицированного режимом письма. Это свойство применяется только к тексту, написанному с направлением inline-progression-direction top-to-bottom или bottom-to-top.

Наиболее обычным является его использование для дифференцирования предпочтительной ориентации алфавитного текста в вертикально написанных документах на японском языке (glyph-orientation="auto") и ориентации алфавитного текста в западных публикациях (glyph-orientation="0deg").

Значение этого свойства влияет как на выравнивание, так и на ширину глиф-областей, генерируемых для глифов. Если глиф ориентирован так, что он перпендикулярен доминантной базовой линии/dominant-baseline, тогда горизонтальная точка выравнивания/alignment-point повёрнутого глифа выравнивается с базовой линией выравнивания, соответствующей этому глифу. Базовая линия, по которой выравнивается глиф, это (вертикальная) базовая линия, идентифицированная "alignment-baseline" для письма, к которому принадлежит глиф. Ширина глиф-области определяется из характеристики горизонтальной ширины шрифта для глифа.


7.27.4 "text-altitude"

Определение XSL:

Значение: use-font-metrics | <length> | <percentage> | inherit
Начальное: use-font-metrics
Применяется: к  fo:block, fo:character, fo:leader, fo:page-number, fo:page-number-citation
Наследуется: нет
Процентное: относительно em-высоты шрифта
Носитель: визуальный

Значения имеют следующий смысл:

use-font-metrics

Использует для "height" значение шрифта над доминантной базовой линией, вычисленное как расстояние между базовой линией text-before и доминантной базовой линией, полученной из номинального шрифта для fo:block, fo:character и fo:leader, если leader-pattern/патэрн заполнителя не имеет значение "use-content". Для fo:leader, если leader-pattern имеет значение "use-content", оно получается из номинального шрифта первого потомка.
Соответствующие реализации могут в качестве действующего значения любое значение в диапазоне высот текста/text-altitudes, используемых шрифтами того же вида письма, и font-size вместо значений из данных шрифта.


<length>

Замещает значение "height", найденное в шрифте.

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


7.27.5 "text-depth"

Определение XSL:

Значение: use-font-metrics | <length> | <percentage> | inherit
Начальное: use-font-metrics
Применяется: к  fo:block, fo:character, fo:leader, fo:page-number, fo:page-number-citation
Наследуется: нет
Процентное: относительно em-высоты шрифта
Носитель: визуальный

Значения имеют следующий смысл:

use-font-metrics

Использует для "depth" значение шрифта под доминантной базовой линией, вычисленное как расстояние между доминантной базовой линией и базовой линией text-after, полученной из номинального шрифта для fo:block, fo:character и fo:leader, если leader-pattern/патэрн заполнителя не имеет значение "use-content". Для fo:leader, если leader-pattern имеет значение "use-content", оно получается из номинального шрифта первого потомка.
Соответствующие реализации могут в качестве действующего значения любое значение в диапазоне глубин текста/text-depths, используемых шрифтами того же вида письма, и font-size вместо значений из данных шрифта.

<length>

Замещает значение "depth", найденное в шрифте.

Специфицирует "depth", используемую десцендов ниже доминантной базовой линии.


7.27.6 "unicode-bidi"

Определение CSS2:

Значение: normal | embed | bidi-override | inherit
Начальное: normal
Применяется: ко всем элементам, но см. описание
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-unicode-bidi.

Значения имеют следующий смысл:

normal

Элемент не открывает дополнительный уровень внедрения относительно двунаправленного алгоритма.
Для элементов инлайн-уровня неявное переупорядочивание работает за рамками элемента.

embed

Если это элемент инлайн-уровня, данное значение открывает дополнительный уровень внедрения относительно двунаправленного алгоритма. Направление этого уровня внедрения задаётся свойством 'direction'. Внутри элемента переупорядочивание выполняется неявно. Это соответствует добавлению LRE (U+202A; для 'direction: ltr') или RLE (U+202B; для 'direction: rtl') в начале элемента и PDF (U+202C) - в конце элемента.

bidi-override

Если это элемент инлайн- или блок-уровня, содержащий только элементы инлайн-уровня, это создаёт переопределение. Это значит, что внутри элемента переупорядочивание выполняется строго последовательно в соответствии со свойством 'direction'; неявная часть двунаправленного алгоритма игнорируется. Это соответствует добавлению LRO (U+202D; для 'direction: ltr') или RLO (U+202E; для 'direction: rtl') в начале элемента и PDF (U+202C) - в конце элемента.

Окончательный порядок символов в каждом элементе блок-уровня - тот же, что и в случае, когда добавлены управляющие коды bidi, как описано выше, сделана разметка и результирующая последовательность символов передана реализации двунаправленного алгоритма Unicode для обычного текста, что даёт те же разрывы строк, что и стилизованный текст. В это процессе нетекстуальные объекты, такие как изображения, рассматриваются как нейтральные символы, если только их свойство 'unicode-bidi' не имеет значение, отличное от 'normal', - в этом случае они рассматриваются как строгие символы в направлении 'direction', специфицированном для этого элемента.

Пожалуйста, обратите внимание, что, для того чтобы инлайн-боксы имели возможность всплывать в одинаковом направлении (или полностью left-to-right, или полностью right-to-left), может понадобиться создать больше инлайн-боксов (включая анонимные инлайн-боксы), и что может потребоваться разделение переупорядочивание некоторых инлайн-боксов перед всплыванием/flowing.

Поскольку алгоритм Unicode имеет ограничение внедрения до 15 уровней, нужно стараться не использовать 'unicode-bidi' со значениями, отличными от 'normal'. В особенности значение для 'inherit' должно использоваться предельно осторожно. Однако для тех элементов, которые, в общем, предназначены для отображения как блоки, установка 'unicode-bidi: embed' предпочтительнее для сохранения целостности элемента, если дисплей изменится на инлайн.

Модификации XSL определения CSS:

Фраза первого параграфа главного описания должна читаться "Окончательный порядок представления символов...".

В Unicode 3.0 Консорциум Unicode увеличил лимит уровней внедрения до 61 (определение BD2 в [UNICODE UAX #9]).

Крайний вариант:

Если невозможно представить символ в корректном порядке, ПА должен отобразить или "символ неподдерживаемого глифа", или вывести какое-то обозначение, что содержимое не может быть отображено корректно.


7.27.7 "writing-mode"

Определение XSL:

Значение: lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit
Начальное: lr-tb
Применяется: см. описание
Наследуется: да (см. описание)
Процентное: N/A
Носитель: визуальный
ПРИМЕЧАНИЕ:

Эта версия режимов письма покрывает базовые режимы письма, используемые в официальных языках Объединённых Наций. Информацию о дополнительных режимах письма см. в разделе [A.1 Дополнительные Значения Режима Письма].

Значения имеют следующий смысл:

lr-tb

Инлайн-компоненты и текст в строке записываются слева направо. Строки и блоки размещаются сверху вниз.

ПРИМЕЧАНИЕ:

Обычно это режим письма для нормального текста "alphabetic" (алфавитного).

Устанавливает следующие направления:

  • inline-progression-direction  - в left-to-right
    Если в тексте имеются символы, читаемы справа налево, направление inline-progression-direction для глиф-областей может быть позднее модифицировано алгоритмом Unicode BIDI.

  • block-progression-direction  - в top-to-bottom

  • shift-direction - в bottom-to-top

rl-tb

Инлайн-компоненты и текст в строке записываются справа налево. Строки и блоки размещаются сверху вниз.

ПРИМЕЧАНИЕ:

Обычно это режим письма арабского и еврейского языков.

Устанавливает следующие направления:

  • inline-progression-direction - в right-to-left
    Если в тексте имеются символы, читаемы слева направо, направление inline-progression-direction для глиф-областей может быть позднее модифицировано алгоритмом Unicode BIDI.

  • block-progression-direction - в top-to-bottom

  • shift-direction - в bottom-to-top

tb-rl

Инлайн-компоненты и текст в строке записываются сверху вниз. Строки и блоки размещаются справа налево.

ПРИМЕЧАНИЕ:

Обычно это режим письма китайского и японского текста.

Устанавливает следующие направления:

  • inline-progression-direction - в top-to-bottom

  • block-progression-direction - в right-to-left

  • shift-direction - в left-to-right

lr

Сокращение для lr-tb.

rl

Сокращение для rl-tb.

tb

Сокращение для tb-rl.

Свойство "writing-mode" применимо только к ОФ, устанавливающим область reference-area (для XSL это fo:simple-page-master, fo:region-*, fo:table, fo:block-container и fo:inline-container. Каждое значение writing-mode устанавливает все три уточнения направления, обозначенные в каждом из описаний значений для области reference-area, указанных выше. (См. в модели области описание уточнений направлений и их использования.)

Реализации обязаны поддерживать как минимум одно значение "writing-mode" из определённых в данных Рекомендациях.



7.28 Различные Свойства

7.28.1 "content-type"

Определение XSL:

Значение: <string> | auto
Начальное: auto
Применяется: к  fo:external-graphic, fo:instream-foreign-object
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Это свойство специфицирует тип содержимого и может использоваться ПАгентом для выбора процессора отображения объекта.

Значения этого свойства имеют следующий смысл:

auto

Нет идентификации типа содержимого/content-type. ПА может определять его путём "вынюхивания/sniffing" или другими средствами.

<string>

Спецификация типа содержимого/content-type в терминах mime-типа или пространства имён.

Спецификация mime-типа имеет форму "content-type:" с последующим типом содержимого mime, например, content-type="content-type:xml/svg".

Спецификация пространства имён имеет форму "namespace-префикс:" с последующим объявленным префиксом пространства имён, например, content-type="namespace-prefix:svg". Если префикс пространства имён нулевой, content-type относится к пространству имён по умолчанию.


7.28.2 "id"

Определение XSL:

Значение: <id>
Начальное: см. описание
Применяется: к большинству объектов форматирования
Наследуется: нет, см. описание
Процентное: N/A
Носитель: все

Значения имеют следующий смысл:

<id>

Идентификатор, уникальный среди объектов результирующего дерева с fo: namespace. Позволяет другим ОФ ссылаться на этот ОФ.

Значение "inherit" для этого свойства не допускается.

Начальное значение этого свойства - случайный и уникальный идентификатор. Алгоритм генерации этого идентификатора зависит от системы.


7.28.3 "provisional-label-separation"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 6.0pt
Применяется: к  fo:list-block
Наследуется: да
Процентное: относительно размера inline-progression-dimension ближайшей блок-области - предка, не являющейся строчной областью
Носитель: визуальный

Значения имеют следующий смысл:

<length>

"provisional-label-separation" специфицировано как размер.

<percentage>

"provisional-label-separation" специфицировано как процент от направления inline-progression-dimension ближайшей блок-области - предка.

Специфицирует временное расстояния между концом метки элемента списка/list-item-label и началом тела элемента списка. Значение не используется напрямую в процессе форматирования, но используется при вычисления значения функции label-end

label-end() = ширине прямоугольника содержимого области reference-area, в которую помещается блок списка - (значение временного расстояния между началами/start + значение start-indent + start-intrusion-adjustment - значение provisional-label-separation) ближайшего fo:list-block - предка.


7.28.4 "provisional-distance-between-starts"

Определение XSL:

Значение: <length> | <percentage> | inherit
Начальное: 24.0pt
Применяется: к  fo:list-block
Наследуется: да
Процентное: относительно размера inline-progression-dimension ближайшей блок-области - предка, не являющейся строчной областью
Носитель: визуальный

Значения имеют следующий смысл:

<length>

"provisional-distance-between-starts" специфицируется как размер.

<percentage>

"provisional-distance-between-starts" специфицировано как процент от направления inline-progression-dimension ближайшей блок-области - предка.

Специфицирует временное расстояние между start-indent/начальным отступом метки элемента списка/list-item-label и start-indent тела элемента списка. это значение не используется прямо в процессе форматирования, о используется при вычислении значения функции body-start.

body-start() = значение start-indent + start-intrusion-adjustment + значение временного расстояния между началами/starts ближайшего fo:list-block - предка.


7.28.5 "ref-id"

Определение XSL:

Значение: <idref> | inherit
Начальное: нет, необходимо значение
Применяется: к  fo:page-number-citation
Наследуется: нет
Процентное: N/A
Носитель: все

Значения имеют следующий смысл:

<idref>

Идентификатор "id" объекта в дереве ОФ.

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


7.28.6 "score-spaces"

Определение XSL:

Значение: true | false | inherit
Начальное: true
Применяется: к  fo:bidi-override, fo:character, fo:initial-property-set, fo:page-number, fo:page-number-citation
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

true

Text-decoration будет применено к пробелам.

false

Text-decoration не будет применено к пробелам.

Специфицирует, должно ли применяться свойство text-decoration к пробелам.


7.28.7 "src"

Определение XSL:

Значение: <uri-specification> | inherit
Начальное: нет, необходимо значение
Применяется: к  fo:external-graphic, fo:color-profile
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<uri-specification>

Специфицирует ссылку URI для размещения внешнего ресурса, такого как изображение/графические данные, включаемые как содержимое данного объекта, или данные цветового профиля.


7.28.8 "visibility"

Определение CSS2:

Значение: visible | hidden | collapse | inherit
Начальное: visible
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-visibility.

Свойство 'visibility' специфицирует, отображается ли бокс, генерируемый элементом. Невидимые боксы продолжают влиять на структуру (установить свойство 'display' в 'none' для подавления генерации бокса совсем). Значения имеют следующий смысл:

visible

Генерируемый бокс виден.

hidden

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

collapse

Пожалуйста, проконсультируйтесь в разделе о динамических эффектах столбцов и рядов в таблицах. Если используется в других (кроме рядов и столбцов) элементах, "collapse" имеет тот же смысл, что и "hidden".

Это свойство может использоваться в сочетании со скриптами для создания динамических эффектов.

Модификации XSL определения CSS:

Изменено начальное значение на visible; (в CSS оно - "inherit") и сделано наследуемым свойством.


7.28.9 "z-index"

Определение CSS2:

Значение: auto | <integer> | inherit
Начальное: auto
Применяется: к позиционированным элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-z-index.

Для позиционированного бокса свойство "z-index" специфицирует:

1. Уровень стэкирования бокса в текущем контексте стэкирования.

2. Устанавливает ли бокс локальный контекст стэкирования.

Значения имеют следующий смысл:

auto

Уровень в стэке генерируемого бокса в текущем контексте стэкирования - тот же, что и у его родительского бокса. Бокс не устанавливает нового локального контекста стэкирования.

<integer>

Это целое число - уровень генерируемого бокса в стэке в текущем контексте стэкирования. Бокс также устанавливает локальный контекст стэкирования, в котором его уровень в стэке равен "0".

Этот пример [см. спецификацию CSS] демонстрирует значение/влияние прозрачности. Поведение по умолчанию бокса - разрешить боксам позади него просвечивать через прозрачные участки его содержимого. В примере каждый бокс прозрачно перекрывает боксы позади себя. Это поведение может быть переопределено использованием одного из существующих свойств фона.


7.29 Сокращённые Свойства

Все следующие свойства являются сокращёнными свойствами. Сокращения включены только в наивысший уровень соответствия XSL: "complete" (см. [8 Соответствие]).

Сокращённые свойства принимают список значений подсвойств или значение "inherit". Можно смешивать 'inherit' с другими значениями подсвойств, так как было бы невозможно специфицировать подсвойство, к которому применено "inherit".

7.29.1 "background"

Определение CSS2:

Значение: [<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> ]] | inherit
Начальное: не определено для сокращённых свойств
Применяется: ко всем элементам
Наследуется: нет
Процентное: допускается для 'background-position'
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background.

Свойство "background" является сокращённым свойством для установки индивидуальных свойств фона (т.е. - background-color, background-image, background-repeat, background-attachment и background-position) в одном месте таблицы стилей.

Свойство "background" сначала устанавливает все индивидуальные свойства фона в их начальные значения, а затем явно назначает значения, данные в объявлении.


7.29.2 "background-position"

Определение CSS2:

Значение: [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit
Начальное: 0% 0%
Применяется: к элементам уровня блока и замещаемым
Наследуется: нет
Процентное: относительно размера самого бокса
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-position.

Если "background-image"/фоновый рисунок специфицирован, это свойство специфицирует его начальную позицию.

<percentage> <percentage>

При наличии пары значений 0% 0% верхний левый угол изображения выравнивается в левым верхним углом края заполнения бокса. Пара значений 100% 100% помещает правый нижний угол изображения в правый нижний угол области заполнения. Парой значений 14% 84% точка изображения 14% поперёк и 84% вниз помещается в точку 14% поперёк и 84% вниз в области заполнения.

<length> <length>

Пара значений 2cm 2cm помещает верхний левый угол изображения на 2 см вправо и на 2 см вниз от левого верхнего угла области заполнения.

top left и left top

То же, что 0% 0%.

top, top center и center top

То же, что 50% 0%.

right top и top right

То же, что 100% 0%.

left, left center и center left

То же, что 0% 50%.

center и center center

То же, что 50% 50%.

right, right center и center right

То же, что 100% 50%.

bottom left и left bottom

То же, что 0% 100%.

bottom, bottom center и center bottom

То же, что 50% 100%.

bottom right и right bottom

То же, что 100% 100%.

Если задано только одно значение процентов или размера, оно устанавливает только горизонтальную позицию, вертикальная позиция будет 50%. Если заданы два значения, горизонтальная позиция идёт первой. Допускаются комбинации размера и процентов, (например, 50% 2cm). Допускаются отрицательные позиции. Ключевые слова не могут комбинироваться с процентными значениями или размерами (все возможные комбинации даны выше).

Если фоновый рисунок фиксирован относительно порта просмотра (см. свойство "background-attachment"), изображение размещается относительно порта просмотра, а не относительно области заполнения элемента.

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться как сокращение XSL и отображаться так:

<percentage>

background-position-horizontal="<percentage>"
background-position-vertical="50%"

<percentage1> <percentage2>

background-position-horizontal="<percentage1>"
background-position-vertical="<percentage2>"

<length>

background-position-horizontal="<length>"
background-position-vertical="50%"

<length1> <length2>

background-position-horizontal="<length1>"
background-position-vertical="<length2>"

<length> <percentage>

background-position-horizontal="<length>"
background-position-vertical="<percentage>"

<percentage> <length>

background-position-horizontal="<percentage>"
background-position-vertical="<length>"

top left и left top

background-position-horizontal="0%"
background-position-vertical="0%"

top, top center и center top

background-position-horizontal="50%"
background-position-vertical="0%"

right top и top right

background-position-horizontal="100%"
background-position-vertical="0%"

left, left center и center left

background-position-horizontal="0%"
background-position-vertical="50%"

center и center center

background-position-horizontal="50%"
background-position-vertical="50%"

right, right center и center right

background-position-horizontal="100%"
background-position-vertical="50%"

bottom left и left bottom

background-position-horizontal="0%"
background-position-vertical="100%"

bottom, bottom center и center bottom

background-position-horizontal="50%"
background-position-vertical="100%"

bottom right и right bottom

background-position-horizontal="100%"
background-position-vertical="100%"


7.29.3 "border"

Определение CSS2:

Значение: [ <border-width> || <border-style> || <color> ] | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border.

Свойство "border" это сокращённое свойство для установки одних и тех же ширины, цвета и стиля для всех четырёх рамок бокса - top, bottom, left и right. В отличие от сокращений свойств "margin" и "padding", свойство "border" не может устанавливать различные значения для четырёх частей рамки. Чтобы сделать это, должно использоваться одно или более других свойств рамки.

Модификации XSL определения CSS:

Просмотрите в разделе [5.3.1 Свойства Рамки и Заполнения] информацию о приоритетах свойств.


7.29.4 "border-bottom"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Значение: [ <border-width> || <border-style> || <color> ] | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom.

Сокращённое свойство для установки ширины, стиля и цвета нижней части рамки блок- или инлайн-области.


7.29.5 "border-color"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x35

Значение: [ <color> | transparent ]{1,4} | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-color.

Свойство 'border-color' цвет четырёх частей рамки. Значения имеют следующий смысл:

transparent

Рамка прозрачна (хотя и может иметь ширину).

<color>

Любая верная спецификация цвета.

Свойство "border-color" может иметь от 1 до 4 значений, и эти значения устанавливаются для 4 различных сторон, как для "border-width".

Если цвет рамки элемента не специфицирован свойством "border", ПАгенты обязаны использовать значение свойства "color" элемента как вычисленное значение свойства цвета.

Модификации XSL определения CSS:

См. в свойстве 'border-width' описание интерпретации этого свойства, если предоставлены от 1 до 4 значений.


7.29.6 "border-left"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Значение: [ <border-width> || <border-style> || <color> ] | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left.

Сокращённое свойство для установки ширины, стиля и цвета левой части рамки блок- или инлайн-области.


7.29.7 "border-right"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Значение: [ <border-width> || <border-style> || <color> ] | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right.

Сокращённое свойство для установки ширины, стиля и цвета правой части рамки блок- или инлайн-области.


7.29.8 "border-style"

Определение CSS2:

Значение: <border-style>{1,4} | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-style.

Свойство "border-style" устанавливает стиль 4 частей рамки.

Может иметь от 1 до 4 значений, и эти значения устанавливаются для различных сторон.

Модификации XSL определения CSS:

См. в свойстве 'border-width' описание интерпретации этого свойства, если предоставлены от 1 до 4 значений.


7.29.9 "border-spacing"

Определение CSS2:

Значение: <length> <length>? | inherit
Начальное: 0pt
Применяется: к таблице
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-spacing.

<length>

Размеры специфицируют расстояние, разделяющее смежные рамки ячеек. Если специфицирован один размер, он задает и горизонтальное, и вертикальное разделение. Если специфицированы два размера, первый задаёт расстояние по горизонтали, а второй - по вертикали. Значения размеров не могут быть отрицательными.

В модели раздельных рамок каждая ячейка имеет свою рамку. Свойство "border-spacing" специфицирует расстояние между рамками смежных ячеек. Это расстояние заполняется фоном элемента table. Ряды, столбцы, группы рядов и группы столбцов не могут иметь рамок (т.е. ПАгенты обязаны игнорировать свойства рамки для этих элементов).

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться как сокращение XSL и отображаться так:

Если специфицировано одно значение, "border-separation.block-progression-direction" и "border-separation.inline-progression-direction" устанавливаются оба в это значение.

Если специфицированы два значения, "border-separation.block-progression-direction" устанавливается во второе значение, а "border-separation.inline-progression-direction" устанавливаются оба (?) в первое значение.


7.29.10 "border-top"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Значение: [ <border-width> || <border-style> || <color> ] | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top.

Сокращённое свойство для установки ширины, стиля и цвета верхней части рамки/top блок- или инлайн-области.


7.29.11 "border-width"

Определение CSS2:

Значение: <border-width>{1,4} | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-width.

Сокращённое свойство для установки "border-top-width", "border-right-width", "border-bottom-width" и "border-left-width" в одном месте таблицы стилей.

Если дано только одно значение, оно применяется ко всем сторонам. Если даны два значения, части top и bottom рамки устанавливаются в первое значение, а right и left - во второе. Если даны три значения, top устанавливается в первое значение, left и right - во второе, а bottom - в третье. Если даны 4 значения, они применяются к top, right, bottom и left, соответственно.


7.29.12 "cue"

Определение CSS2:

Значение: <cue-before> || <cue-after> | inherit
Начальное: не определено для сокращённых свойств
Применяется: ко всем элементам
Наследуется: нет
Процентное: N/A
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue.


7.29.13 "font"

Определение CSS2:

Значение: [ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
Начальное: см. конкретные свойства
Применяется: ко всем элементам
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font.

Свойство "font" является, исключая уже описанные выше, сокращённым свойством для установки "font-style", "font-variant", "font-weight", "font-size", "line-height" и "font-family" в одном месте таблицы стилей. Синтаксис этого свойства базируется на традиционной типографской нотации сокращений для установки нескольких свойств, относящихся к шрифтам.

Все свойства, относящиеся к шрифтам, сначала устанавливаются в свои первоначальные значения, включая свойства, перечисленные в предыдущем параграфе, плюс "font-stretch" и "font-size-adjust". Затем те свойства, значения которых заданы явно в сокращении "font", устанавливаются в эти значения. Для определения допустимых и начальных значений см. ранее описанные свойства. Из соображений обеспечения обратной совместимости невозможно установить "font-stretch" и "font-size-adjust" в иные, кроме начальных, значения, используя сокращённое свойство "font"; вместо этого используйте индивидуальные свойство.

Следующие [первые шесть] значений относятся к системным шрифтам:

caption

Шрифт используется для захваченных элементов управления (например, кнопок, выпадающих меню и т.п.).

icon

Шрифт используется для иконок.

menu

Шрифт используется для меню (например, выпадающие меню и списки).

message-box

Шрифт используется для диалоговых окон.

small-caption

Шрифт используется для небольших элементов управления.

status-bar

Шрифт используется для строки состояния.

Системные шрифты могут устанавливаться только целиком; то есть "font-family", "size", "weight", "style", и т.д. все устанавливаются одновременно. Эти значения могут затем изменяться индивидуально, если необходимо. Если шрифт с указанными характеристиками отсутствует в системе, ПА должен или осмысленно замещать шрифт (например, уменьшенная версия шрифта "caption" может использоваться для шрифта "small-caption") или замещать шрифт по умолчанию в пользовательском агенте (ПА). Как и для обычных шрифтов, если для системного шрифта любое из индивидуальных свойств не является частью доступных установок пользователя операционной системы, эти свойства должны быть установлены в свои начальные значения.

По этой причине это свойство является "почти" сокращённым свойством: системные шрифты могут специфицироваться только этим свойством, а не самим "font-family", поэтому "font" позволяет авторам сделать больше, чем просто сумма этих подсвойств. Однако индивидуальные свойства, такие как "font-weight", задают значения, взятые из системного шрифта, которые могут варьироваться независимо друг от друга.

Модификации XSL определения CSS:

В XSL свойство "font" является чисто сокращённым свойством. Характеристики системного шрифта, такие как font-family и font-size, могут быть получены путём использования функции "system-font" на языке выражений.


7.29.14 "margin"

Определение CSS2:

Значение: <margin-width>{1,4} | inherit
Начальное: не определено для сокращённых свойств
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin.

Сокращённое свойство для установки margin-top, margin-right, margin-bottom и margin-left блок- или инлайн-области.

Если дано только одно значение, оно применяется ко всем сторонам. Если даны два значения, поля top и bottom устанавливаются в первое значение, а right и left - во второе. Если даны три значения, top устанавливается в первое значение, left и right - во второе, а bottom - в третье. Если даны 4 значения, они применяются к top, right, bottom и left, соответственно.

Модификации XSL определения CSS:


7.29.15 "padding"

Определение CSS2:

Значение: <padding-width>{1,4} | inherit
Начальное: не определено для сокращённых свойств
Применяется: ко всем элементам
Наследуется: нет
Процентное: относительно ширины содержащего блока
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding.

Сокращённое свойство для установки padding-top, padding-bottom, padding-left и padding-right блок- или инлайн-области.

Если дано только одно значение, оно применяется ко всем сторонам. Если даны два значения, части top и bottom заполнения устанавливаются в первое значение, а right и left - во второе. Если даны три значения, top устанавливается в первое значение, left и right - во второе, а bottom - в третье. Если даны 4 значения, они применяются к top, right, bottom и left, соответственно.

Цвет поверхности или рисунок области заполнения специфицируется свойством "background".


7.29.16 "page-break-after"

Определение CSS2:

Значение: auto | always | avoid | left | right | inherit
Начальное: auto
Применяется: к элементам уровня блока, list-item и table-row.
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-after.

Значения этих свойств имеют следующий смысл:

auto

Ни форсирует, ни запрещает разрыв страницы до (после, внутри) генерируемого бокса.

always

Всегда форсирует разрыв страницы до (после) генерируемого бокса.

avoid

Исключает разрыв страницы до (после, внутри) генерируемого бокса.

left

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

right

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

Потенциально место разрыва страницы обычно находится под влиянием свойства 'page-break-inside' родительского элемента, свойства 'page-break-after' предшествующего элемента и 'page-break-before' последующего элемента. Если эти свойства имеют значения, отличные от 'auto', то значения 'always', 'left' и 'right' будут иметь приоритет над 'avoid'. См. в разделе о допустимых разрывах страниц точные правила того, как эти свойства могут форсировать или подавлять разрывы страниц.

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться XSL как сокращение и отображается так:

auto

break-after = "auto"

keep-with-next = "auto"

always

break-after = "page"

keep-with-next = "auto"

avoid

break-after = "auto"

keep-with-next = "always"

left

break-after = "even-page"

keep-with-next = "auto"

right

break-after = "odd-page"

keep-with-next = "auto"


7.29.17 "page-break-before"

Определение CSS2:

Значение: auto | always | avoid | left | right | inherit
Начальное: auto
Применяется: к элементам уровня блока, list-item и table-row.
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-before.

Значения этих свойств имеют следующий смысл:

auto

Ни форсирует, ни запрещает разрыв страницы до (после, внутри) генерируемого бокса.

always

Всегда форсирует разрыв страницы до (после) генерируемого бокса.

avoid

Исключает разрыв страницы до (после, внутри) генерируемого бокса.

left

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

right

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

Потенциально место разрыва страницы обычно находится под влиянием свойства 'page-break-inside' родительского элемента, свойства 'page-break-after' предшествующего элемента и 'page-break-before' последующего элемента. Если эти свойства имеют значения, отличные от 'auto', то значения 'always', 'left' и 'right' будут иметь приоритет над 'avoid'. См. в разделе о допустимых разрывах страниц точные правила того, как эти свойства могут форсировать или подавлять разрывы страниц.

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться XSL как сокращение и отображается так:

auto

break-before = "auto"

keep-with-previous = "auto"

always

break-before = "page"

keep-with-previous = "auto"

avoid

break-before = "auto"

keep-with-previous = "always"

left

break-before = "even-page"

keep-with-previous = "auto"

right

break-before = "odd-page"

keep-with-previous = "auto"


7.29.18 "page-break-inside"

Определение CSS2:

Значение: avoid | auto | inherit
Начальное: auto
Применяется: к элементам уровня блока
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-inside.

ПРИМЕЧАНИЕ:

Определение CSS для page-break-inside разделялось с определениями page-break-before и page-break-after. Текст был отредактирован для включения только одного значения для page-break-inside и удаления триплета before/after/inside.

Значения этого свойства имеют следующий смысл:

auto

Ни форсирует, ни запрещает разрыв страницы внутри генерируемого бокса.

avoid

Запрещает разрыв страницы внутри генерируемого бокс.

Потенциально место разрыва страницы обычно находится под влиянием свойства 'page-break-inside' родительского элемента, свойства 'page-break-after' предшествующего элемента и 'page-break-before' последующего элемента. Если эти свойства имеют значения, отличные от 'auto', то значения 'always', 'left' и 'right' будут иметь приоритет над 'avoid'. См. в разделе о допустимых разрывах страниц точные правила того, как эти свойства могут форсировать или подавлять разрывы страниц.

Модификации XSL определения CSS:

XSL рассматривает его как сокращение и отображает так:

auto

keep-together = "auto"

avoid

keep-together = "always"


7.29.19 "pause"

Определение CSS2:

Значение: [<time> | <percentage>]{1,2} | inherit
Начальное: зависит от ПАгента
Применяется: ко всем элементам
Наследуется: нет
Процентное: см. описание 'pause-before' и 'pause-after'
Носитель: звуковой

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause.


7.29.20 "position"

Определение CSS2: исправлено в http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x11

Значение: static | relative | absolute | fixed | inherit
Начальное: static
Применяется: ко всем элементам, но не к сгенерированному содержимому
Наследуется: нет
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-position.

Значения имеют следующий смысл:

static

Бокс является нормальным боксом, расположенным в нормальном потоке. Свойства "top", "right", "bottom" и "left" не применяются.

relative

Позиция бокса высчитывается в соответствии с нормальным потоком (это называется позицией в нормальном потоке). Затем бокс смещается относительно своей нормальной позиции. Если бокс B позиционирован относительно, позиция последующего бокса вычисляется так, будто бокс B не был смещён.

absolute

Позиция бокса (и, возможно, размер) специфицируется свойствами "left", "right", "top" и "bottom". Это свойство специфицирует смещение относительно содержащего блока бокса. Абсолютно позиционированные боксы изымаются из нормального потока. Это означает, что они не влияют на структуру последующих родственников. Также, хотя абсолютно позиционированные боксы имеют поля, они не сжимаются вместе с другими полями.

fixed

Позиция бокса высчитывается в соответствии с "абсолютной/absolute" моделью, но, кроме этого, бокс фиксируется относительно некоторой ссылки. В случае с непрерывным носителем, бокс фиксируется относительно порта просмотра (и не перемещается при прокрутке). В случае со страничным носителем, бокс фиксируется относительно страницы, даже если страница просматривается в порте просмотра (в режиме предварительного просмотра перед печатью, например). Авторам может понадобиться специфицировать "fixed" способом, зависящим от носителя. К примеру, автор может пожелать, чтобы бокс оставался в верхней части порта просмотра на экране, но не вверху каждой печатаемой страницы.

Специфицирует используемую схему позиционирования.

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться XSL как сокращение и отображается так:

static

relative-position="static"

absolute-position="auto"

relative

relative-position="relative"

absolute-position="auto"

absolute

relative-position="static"

absolute-position="absolute"

fixed

relative-position="static"

absolute-position="fixed"


7.29.21 "size"

Определение CSS2:

Значение: <length>{1,2} | auto | landscape | portrait | inherit
Начальное: auto
Применяется: к контексту страницы
Наследуется: N/A [XSL:no, по выбору]
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/page.html#propdef-size.

Это свойство специфицирует размер и ориентацию страничного бокса.

Размер страничного бокса может быть "absolute" (фиксированный размер) или "relative"/относительным (масштабируемым, т.е. входить на листы имеющихся размеров). Относительные страничные боксы позволяют ПАгентам масштабировать документ и оптимально использовать размер назначения.

[Первые] Три значения свойства 'size' создают относительный страничный бокс:

auto

Страничный бокс будет установлен в размер и ориентацию целевого листа.

landscape

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

portrait

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

<length>

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

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

  • Отображение страничных боксов, не входящих на целевой лист

    Если страничный бокс не входит на целевой лист, ПА может:

    • Повернуть страничный бокс на 90 градусов, если это вместит бокс на лист.

    • Масштабировать страницу для вмещения на целевой лист.

    ПА должен консультироваться с пользователем перед выполнением этой операции.
     

  • Позиционирование страничного бокса на листе

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

Модификации XSL определения CSS:

Оно рассматривается как сокращённое свойство CSS, которое отображается в свойства XSL "page-height" и "page-width".


7.29.22 "vertical-align"

Определение CSS2:

Значение: baseline | middle | sub | super | text-top | text-bottom | <percentage> | <length> | top | bottom | inherit
Начальное: baseline
Применяется: к элементам инлайн-уровня и 'table-cell'
Наследуется: нет
Процентное: относительно 'line-height' самого элемента
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-vertical-align.

Это свойство действует на позиционирование по вертикали внутри строчного бокса боксов, генерируемых элементом инлайн-уровня. Следующие значения имеют смысл только относительно родительского элемента инлайн-уровня или относительно родительского элемента блок-уровня, если этот элемент генерирует анонимные инлайн-боксы; значения не действуют, если такой родитель не существует.

ПРИМЕЧАНИЕ:

Значения этого свойства имеют несколько другой смысл в контексте таблиц. Проконсультируйтесь насчёт деталей в разделе алгоритмов высоты таблицы.

Значения имеют следующий смысл:

baseline

Выравнивает базовую линию бокса с базовой линией родительского бокса. Если бокс не имеет базовой линии, его низ/bottom выравнивается с базовой линией родителя.

middle

Выравнивает вертикальную центральную точку/midpoint бокса с базовой линией родительского бокса плюс половина x-высоты родителя.

sub

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

super

Поднимает базовую линию бокса до соответствующей позиции надиндекса родительского бокса. (Это значение не действует на размер шрифта текста элемента.)

text-top

Выравнивает верх/top бокса с верхом шрифта родительского элемента.

text-bottom

Выравнивает низ/bottom  бокса с низом шрифта родительского элемента.

top

Выравнивает верх бокса с верхом строчного бокса.

bottom

Выравнивает низ бокса с низом строчного бокса.

<percentage>

Поднимает (положительное значение) или опускает (отрицательное значение) бокс на эту величину (процент значения "line-height"). Значение "0%" означает то же, что "baseline".

<length>

Поднимает (положительное значение) или опускает (отрицательное значение) бокс на эту величину. Значение "0cm" означает то же, что "baseline".

ПРИМЕЧАНИЕ:

Значения этого свойства имеют несколько иной смысл в контексте таблиц. См. детали в разделе об алгоритмах высоты таблицы.

Модификации XSL определения CSS:

Свойство CSS должно рассматриваться XSL как сокращение и отображается так:

baseline

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

top

alignment-baseline="before-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

text-top

alignment-baseline="text-before-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

middle

alignment-baseline="middle"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

bottom

alignment-baseline="after-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

text-bottom

alignment-baseline="text-after-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

sub

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="sub"

dominant-baseline="auto"

super

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="super"

dominant-baseline="auto"

<percentage>

alignment-baseline="baseline"

alignment-adjust="<percentage>"

baseline-shift="baseline"

dominant-baseline="auto"

<length>

alignment-baseline="baseline"

alignment-adjust="<length>"

baseline-shift="baseline"

dominant-baseline="auto"


7.29.23 "white-space"

Определение CSS2:

Значение: normal | pre | nowrap | inherit
Начальное: normal
Применяется: к элементам уровня блока
Наследуется: да
Процентное: N/A
Носитель: визуальный

Ссылка CSS2: http://www.w3.org/TR/REC-CSS2/text.html#propdef-white-space.

Это свойство декларирует, как обрабатывается пробел внутри элемента.
Значения имеют следующий смысл:

normal

Указывает ПАгенту сжать последовательность пробелов и разрывать строки так, как нужно для заполнения строчных боксов. Дополнительные разрывы строк могут создаваться вхождениями символов "\A" в генерируемом содержимом (например, для элемента BR HTML).

pre

Предотвращает сжатие ПАгентом последовательностей пробелов. Строки прерываются только по символам новой строки источника, или по вхождениям "\A" в генерируемом содержимом.

nowrap

Это значение сжимает пробел как для 'normal', но подавляет разрывы строки внутри текста, исключая те, которые создаются символами "\A" в генерируемом содержимом (например, для элемента BR HTML).

Соответствующие ПА могут игнорировать свойство 'white-space' в авторских и пользовательских таблицах стилей, но обязаны специфицировать значение для него в таблице стилей по умолчанию.

Модификации XSL определения CSS:

XSL разделяет управление сжатием пробелов, обработку пространства и прогонов строк и переносы на отдельные процессы.

Свойство CSS должно рассматриваться XSL как сокращение и отображается так:

normal

linefeed-treatment="treat-as-space"

white-space-collapse="true"

white-space-treatment="preserve"

wrap-option="wrap"

pre

linefeed-treatment="preserve"

white-space-collapse="false"

white-space-treatment="preserve"

wrap-option="no-wrap"

nowrap

linefeed-treatment="treat-as-space"

white-space-collapse="true"

white-space-treatment="preserve"

wrap-option="no-wrap"


7.29.24 "xml:lang"

Определение XSL:

Значение: <country-language> | inherit
Начальное: не определено для сокращённых свойств
Применяется: см. описание
Наследуется: да
Процентное: N/A
Носитель: визуальный

Значения имеют следующий смысл:

<string>

Спецификатор языка и/или страны в соответствии с [RFC3066].

Специфицирует язык и страну, используемые форматировщиком в языковом сервисе (таком как переносы/hyphenation), и определение разрывов строк. Это влияет на построение строки способом. зависящим от системы.

Строка может быть любым кодом RFC 3066.

XSL рассматривает xml:lang как сокращение и использует его для установки свойств страны и языка.

ПРИМЕЧАНИЕ:

В общем, языковой сервис (стратегия выравнивания строк/line-justification, разрывов строк и переносов) может зависеть от комбинации свойств "language", "script" и "country".


 

Назад

Оглавление

В начало страницы

Вперёд

Hosted by uCoz