друг!
ЯндексЯндекс. ДеньгиХочу такую же кнопку

Объекты Форматирования-3

 

Назад

Оглавление

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

Вперёд

 

Краткое Содержание
6 Объекты Форматирования (ОФ)
    6.1 Введение
    6.2 Содержимое ОФ
    6.3 ОФ. Резюме.
    6.4 Объявление и Разбивка на Страницы и Структура ОФ
    6.5 ОФ уровня блока
    6.6 ОФ инлайн-уровня
    6.7 ОФ для Таблиц
    6.8 ОФ для Списков
    6.9 Динамические Эффекты: Объекты Форматирования Link и Multi
    6.10 Внестрочные/Out-of-Line ОФ
    6.11 Прочие ОФ

6.5 Объекты Форматирования Уровня Блока

6.5.1 Введение

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

6.5.1.1 Пример

6.5.1.1.1 Заголовки Главы и Раздела, Параграфы

Исходный код:

<doc>
  <chapter>
    <title>Chapter title</title>
    <section>
      <title>First section title</title>
      <paragraph>Section one's first paragraph.</paragraph>
      <paragraph>Section one's second paragraph.</paragraph>
    </section>
    <section>
      <title>Second section title</title>
      <paragraph>Section two's only paragraph.</paragraph>
    </section>
  </chapter>
</doc>

В этом примере заголовок главы появляется в верхней части страницы (её "space-before" отбрасывается).

Пространство между заголовком главы и заголовком первого раздела равно (8pt,8pt,8pt): "space-after" заголовка главы имеет более высокий приоритет, чем "space-before" заголовка раздела (принимающий нулевое начальное значение), так что последний отбрасывается.

Пространство между заголовком первого раздела и первым параграфом раздела one равно (6pt,6pt,6pt):
"space-after" заголовка раздела имеет более высокий приоритет, чем "space-before" параграфа, так что последний отбрасывается.

Пространство между двумя параграфами равно (6pt,8pt,10pt): "space-after" первого параграфа отбрасывается, поскольку его приоритет равен приоритету "space-before" следующего параграфа, а optimum для "space-after" первого параграфа больше, чем optimum для "space-before" второго параграфа.

Пространство между вторым параграфом первого раздела и заголовком второго раздела равно (12pt,12pt,12pt): "space-after" параграфа отбрасывается, поскольку его приоритет равен приоритету "space-before" заголовка раздела, а optimum для "space-after" параграфа меньше, чем optimum для "space-before" заголовка раздела.

Отступ в первой строке первого параграфа первого раздела one и единственного параграфа раздела two равен нулю; отступ первой строки второго параграфа раздела one равен 2pc.

Таблица стилей XSL:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="chapter">
  <fo:block break-before="page">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="chapter/title">
  <fo:block text-align="center" space-after="8pt"
            space-before="16pt" space-after.precedence="3">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="section">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="section/title">
  <fo:block text-align="center" space-after="6pt"
            space-before="12pt" space-before.precedence="0"
            space-after.precedence="3">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="paragraph[1]" priority="1">
  <fo:block text-indent="0pc" space-after="7pt"
            space-before.minimum="6pt" space-before.optimum="8pt"
            space-before.maximum="10pt">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="paragraph">
  <fo:block text-indent="2pc" space-after="7pt"
            space-before.minimum="6pt" space-before.optimum="8pt"
            space-before.maximum="10pt">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

</xsl:stylesheet>

Результирующий Экземпляр: элементы и атрибуты в пространстве имён fo:

<fo:block break-before="page">

  <fo:block text-align="center" space-after="8pt"
    space-before="16pt"
    space-after.precedence="3">Chapter title
  </fo:block>

  <fo:block text-align="center" space-after="6pt"
    space-before="12pt" space-before.precedence="0"
    space-after.precedence="3">First section title
  </fo:block>

  <fo:block text-indent="0pc" space-after="7pt"
    space-before.minimum="6pt" space-before.optimum="8pt"
    space-before.maximum="10pt">Section one's first paragraph.
  </fo:block>

  <fo:block text-indent="2pc" space-after="7pt"
    space-before.minimum="6pt" space-before.optimum="8pt"
    space-before.maximum="10pt">Section one's second paragraph.
  </fo:block>

  <fo:block text-align="center" space-after="6pt"
    space-before="12pt" space-before.precedence="0"
    space-after.precedence="3">Second section title
  </fo:block>

  <fo:block text-indent="0pc" space-after="7pt"
    space-before.minimum="6pt" space-before.optimum="8pt"
    space-before.maximum="10pt">Section two's only paragraph.
  </fo:block>

</fo:block>

6.5.2 fo:block

Обычное Использование:

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

Области:

ОФ fo:block генерирует одну или более normal/нормальных блок-областей. fo:block возвращает эти области, любые области page-level-out-of-line и любые области reference-level-out-of-line, возвращаемые потомками объекта fo:block. fo:block также генерирует нуль или более строчных областей/line-areas в качестве потомков нормальных блок-областей, возвращаемых им, в соответствии с [4.7.2 Конструирование Строк].

Получение Уточнения:

Компоненты .minimum, .optimum и .maximum уточнения half-leading устанавливаются в 1/2 от разности вычисленного значения свойства line-height, вычисленного значения суммы свойств text-altitude и text-depth. Компоненты .precedence и .conditionality копируются из свойства line-height.

ПРИМЕЧАНИЕ:

Использование half-leading описано в разделе [4.5 Строчные Области/Line-areas].

Ограничения:

Никакая область не может иметь более одной нормальной области-потомка, возвращаемой одним ОФ fo:block.

Потомки каждой нормальной области, генерируемой объектом fo:block, обязаны удовлетворять ограничениям, специфицированным в разделе [4.7.2 Конструирование Строк].

В дополнение к этому, обязаны выполняться ограничения, вводимые уточнениями, получаемыми из свойств, применимых к данному ОФ. Геометрические ограничения жёстко определены в разделе [4 Модель Области].

Содержимое:

(#PCDATA|%inline;|%block;)*

Дополнительно этот ОФ может содержать последовательность из нуль или более fo:marker как начальных потомков, после которых может следовать fo:initial-property-set.

Следующие свойства применяются к данному ОФ:

6.5.3 fo:block-container

Обычное Использование:

Объект потока fo:block-container используется для генерации области reference-area блок-уровня, содержащих обычно блоки текста с различными режимами письма. Кроме того он может также использоваться с различными ориентациями reference-orientation для разворота своего содержимого.

ПРИМЕЧАНИЕ:

Не рекомендуется только использовать этот объект потока/flow object для изменения направления inline-progression-direction; в этом случае достаточно алгоритма Unicode bidi и fo:bidi-override.

Области:

ОФ fo:block-container генерирует одну или более пар viewport/reference. fo:block-container возвращает эти области и любые области page-level-out-of-line, возвращённые потомками объекта fo:block-container.

Получение Уточнения:

Области, генерируемые объектом fo:block-container, имеют значение "true" для уточнения is-reference-area.

Размер viewport-area и reference-area должен фиксироваться в направлении inline-progression-direction. Он обязан быть специфицирован, если только направление inline-progression-direction не параллельно inline-progression-direction области reference-area, в которую помещаются области, генерируемые этим всплывающим объектом.

Ограничения:

Потомки каждой области reference-area, генерируемой объектом fo:block-container, обязаны быть нормальными block-area/блок-областями, возвращаемыми потомками объекта fo:block-container, обязаны быть properly stacked/правильно стэкированы и properly ordered/правильно упорядоченными.

Любые области reference-level-out-of-line, возвращаемые потомками объекта fo:block-container, обрабатываются так, как это описано в разделе [6.10.2 fo:float].

Содержимое:

(%block;)+

Дополнительно объект fo:block-container, не генерирующий абсолютно позиционированной области, может содержать последовательность из нуль или более fo:marker в качестве начальных потомков.

Следующие свойства применяются к данному ОФ:

6.6 Объекты Форматирования Инлайн-Уровня

6.6.1 Введение

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

  • Перевод первой строки параграфа в малые заглавные,

  • перевод нормального инлайн-ОФ, fo:external-graphic, в блок путём "wrapping/окружения" объектом fo:block,

  • форматирование фиксированного футера, содержащего слово "Page" и номер страницы.

6.6.1.1 Примеры

6.6.1.1.1 Первая строка параграфа выводится малыми заглавными

Код:

<doc>
<p>Это текст параграфа, первая строка которого
будет представлена малыми заглавными буквами.</p>
</doc>

Таблица стилей XSL:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format"
                version='1.0'>

<xsl:template match="p">
  <fo:block>
    <fo:initial-property-set font-variant="small-caps"/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

</xsl:stylesheet>

Результирующий Экземпляр: элементы и атрибуты в пространстве имён fo:

<fo:block>
  <fo:initial-property-set font-variant="small-caps">
  </fo:initial-property-set>This is the text of a paragraph that is going to be
presented with the first line in small-caps.
</fo:block>

6.6.1.1.2 Рисунок с Фотографией

Код:

<doc>
  <figure>
    <photo image="TH0317A.jpg"/>
    <caption>C'ieng Tamlung of C'ieng Mai</caption>
  </figure>
</doc>

В этом примере изображение (fo:external-graphic) помещено как центрированный объект уровня блока. Заголовок центрируется с 10мм отступами.

Таблица стилей XSL:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format"
                version='1.0'>

<xsl:template match="figure">
  <fo:block>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="photo">
  <fo:block text-align="center">
    <fo:external-graphic src=""/>
  </fo:block>
</xsl:template>

<xsl:template match="caption">
  <fo:block space-before="3pt" text-align="center"
    start-indent="10mm" end-indent="10mm">
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

</xsl:stylesheet>

Элемент fo: и дерево атрибутов:

<fo:block>
  <fo:block text-align="center">
    <fo:external-graphic src="TH0317A.jpg"/>
  </fo:block>

  <fo:block space-before="3pt" text-align="center" start-indent="10mm"
    end-indent="10mm">C'ieng Tamlung of C'ieng Mai</fo:block>
</fo:block>

6.6.1.1.3 Нумерация страниц и ссылка на номер страницы

Код:

<!DOCTYPE doc SYSTEM "pgref.dtd">
<doc>
  <chapter id="x"><title>Chapter</title>
    <p>Text</p>
  </chapter>
  <chapter><title>Chapter</title>
    <p>For a description of X see <ref refid="x"/>.</p>
  </chapter>
</doc>

В этом примере каждая страница имеет фиксированный футер, содержащий слово "Page" с последующим номером страницы. Элемент "ref" генерирует слово "page" с последующим номером страницы, на которой размещается атрибут, имеющий на себя ссылку в "refid".

Таблица стилей XSL:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format"
                version='1.0'>

<xsl:template match="doc">
  <fo:root>
    <fo:layout-master-set>
      <fo:simple-page-master master-name="page"
        page-height="297mm" page-width="210mm"
        margin-top="20mm" margin-bottom="10mm"
        margin-left="25mm" margin-right="25mm">
        <fo:region-body
          margin-top="0mm" margin-bottom="15mm"
          margin-left="0mm" margin-right="0mm"/>
        <fo:region-after extent="10mm"/>
      </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="page">
      <fo:static-content flow-name="xsl-region-after">
        <fo:block>
          <xsl:text>Page </xsl:text>
          <fo:page-number/>
        </fo:block>
      </fo:static-content>
      <fo:flow flow-name="xsl-region-body">
        <xsl:apply-templates/>
      </fo:flow>
    </fo:page-sequence>
  </fo:root>
</xsl:template>

<xsl:template match="chapter/title">
  <fo:block id="">
    <xsl:number level="multiple" count="chapter" format="1. "/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="p">
  <fo:block>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="ref">
  <xsl:text>page </xsl:text>
  <fo:page-number-citation refid=""/>
</xsl:template>

</xsl:stylesheet>

Результирующий Экземпляр: элементы и атрибуты в пространстве имён fo:

<fo:root>
  <fo:layout-master-set>
    <fo:simple-page-master master-name="page"
      page-height="297mm" page-width="210mm"
      margin-top="20mm" margin-bottom="10mm"
      margin-left="25mm" margin-right="25mm">
      <fo:region-body margin-top="0mm" margin-bottom="15mm"
        margin-left="0mm" margin-right="0mm"/>
      <fo:region-after extent="10mm"/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="page">
    <fo:static-content flow-name="xsl-region-after">
      <fo:block>Page <fo:page-number/>
      </fo:block>
    </fo:static-content>
    <fo:flow flow-name="xsl-region-body">
      <fo:block id="N5">1. Chapter</fo:block>
      <fo:block>Text</fo:block>
      <fo:block id="N13">2. Chapter</fo:block>
      <fo:block>For a description of X see page <fo:page-number-citation refid="N5"/>
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

6.6.1.1.4 Оглавление с Заполнителями

Код:

<doc>
  <chapter><title>Chapter</title>
    <p>Text</p>
    <section><title>Section</title>
    <p>Text</p>
    </section>
    <section><title>Section</title>
    <p>Text</p>
    </section>
  </chapter>
  <chapter><title>Chapter</title>
    <p>Text</p>
    <section><title>Section</title>
    <p>Text</p>
    </section>
    <section><title>Section</title>
    <p>Text</p>
    </section>
  </chapter>
</doc>

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

Таблица стилей XSL:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format"
                version='1.0'>

<xsl:template match="doc">
  <!-- создаётся оглавление -->
  <xsl:apply-templates select="chapter/title" mode="toc"/>
  <!-- создаётся документ -->
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="chapter/title" mode="toc">
  <fo:block text-align-last="justify">
    <fo:simple-link internal-destination="">
      <xsl:number level="multiple" count="chapter" format="1. "/>
      <xsl:apply-templates/>
    </fo:simple-link>
    <xsl:text> </xsl:text>
    <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
               leader-length.maximum="100%" leader-pattern="dots"/>
    <xsl:text> </xsl:text>
    <fo:page-number-citation ref-id=""/>
  </fo:block>
  <xsl:apply-templates select="../section/title" mode="toc"/>
</xsl:template>

<xsl:template match="section/title" mode="toc">
  <fo:block start-indent="10mm" text-align-last="justify">
    <fo:simple-link internal-destination="">
      <xsl:number level="multiple" count="chapter|section" format="1.1 "/>
      <xsl:apply-templates/>
    </fo:simple-link>
    <xsl:text> </xsl:text>
    <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
               leader-length.maximum="100%" leader-pattern="dots"/>
    <xsl:text> </xsl:text>
    <fo:page-number-citation ref-id=""/>
  </fo:block>
</xsl:template>

<xsl:template match="chapter/title">
  <fo:block id="">
    <xsl:number level="multiple" count="chapter" format="1. "/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="section/title">
  <fo:block id="">
    <xsl:number level="multiple" count="chapter|section" format="1.1 "/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="p">
  <fo:block>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

</xsl:stylesheet>

Результирующий Экземпляр: элементы и атрибуты в пространстве имён fo:

<fo:block text-align-last="justify">
  <fo:simple-link internal-destination="N4">1. Chapter
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N4">
  </fo:page-number-citation>
</fo:block>
<fo:block start-indent="10mm" text-align-last="justify">
  <fo:simple-link internal-destination="N11">1.1 Section
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N11">
  </fo:page-number-citation>
</fo:block>
<fo:block start-indent="10mm" text-align-last="justify">
  <fo:simple-link internal-destination="N19">1.2 Section
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N19">
  </fo:page-number-citation>
</fo:block>
<fo:block text-align-last="justify">
  <fo:simple-link internal-destination="N28">2. Chapter
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N28">
  </fo:page-number-citation>
</fo:block>
<fo:block start-indent="10mm" text-align-last="justify">
  <fo:simple-link internal-destination="N35">2.1 Section
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N35">
  </fo:page-number-citation>
</fo:block>
<fo:block start-indent="10mm" text-align-last="justify">
  <fo:simple-link internal-destination="N43">2.2 Section
  </fo:simple-link>
  <fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
    leader-length.maximum="100%" leader-pattern="dots">
  </fo:leader>
  <fo:page-number-citation ref-id="N43">
  </fo:page-number-citation>
</fo:block>

<fo:block id="N4">1. Chapter
</fo:block>

<fo:block>Text
</fo:block>

<fo:block id="N11">1.1 Section
</fo:block>

<fo:block>Text
</fo:block>

<fo:block id="N19">1.2 Section
</fo:block>

<fo:block>Text
</fo:block>

<fo:block id="N28">2. Chapter
</fo:block>

<fo:block>Text
</fo:block>

<fo:block id="N35">2.1 Section
</fo:block>

<fo:block>Text
</fo:block>

<fo:block id="N43">2.2 Section
</fo:block>

<fo:block>Text
</fo:block>

6.6.2 fo:bidi-override

Обычное Использование:

ОФ fo:bidi-override используется при несрабатывании алгоритма Unicode-bidi. Он форсирует написание строки текста в определённом направлении.

Области:

ОФ fo:bidi-override генерирует одну или более областей normal inline-area. fo:bidi-override возвращает эти области, любые области page-level-out-of-line и reference-level-out-of-line, возвращаемые потомками fo:bidi-override.

Получение Уточнения:

Уточнения направления получаются из свойств "writing-mode", "direction" и "unicode-bidi", как описано в разделе [5.5.3 Свойства Writing-mode и Direction].

Ограничения:

Никакая область не может иметь более одной нормальной области-потомка, возвращаемой одним объектом fo:bidi-override.

Потомки каждой нормальной области, возвращаемой объектом fo:bidi-override, обязаны удовлетворять ограничениям, специфицированным в разделе [4.7.3 Инлайн-Конструирование].

Содержимое:

(#PCDATA|%inline;|%block;)*

Этот ОФ может дополнительно содержать последовательность из нуля или более fo:marker в качестве своих начальных потомков.

fo:bidi-override, потомок объекта fo:leader, или объект fo:inline, потомок объекта fo:footnote, могут не иметь потомков блок-уровня, если только не имеется ближайший предок - контейнер fo:inline-container.

Следующие свойства применяются к данному ОФ:

6.6.3 fo:character

Обычное Использование:

Объект потока fo:character представляет символ, отображаемый в глиф для представления. Это атомарная единица форматировщика.

Когда результирующее дерево интерпретируется как дерево объектов форматирования, символ в результирующем дереве интерпретируется так, как если бы он был пустым элементом типа fo:character с атрибутом символа, равным представлению данного символа в Unicode. Семантика значения "auto" для свойств символов, которое (значение) является обычно начальным значением, базируется на кодовой точке Unicode. В реализациях может предусматриваться переопределение.

ПРИМЕЧАНИЕ:

В таблице стилей явное создание fo:character может использоваться для явного переопределения отображения/mapping по умолчанию.

Символы Unicode/Tag могут не поддерживаться.

ПРИМЕЧАНИЕ:

Unicode Version 3.1 фактически утверждает, что они не используются с "любыми протоколами, которые предоставляют альтернативные значения для тэгов языка, такого как HTML или XML.". Unicode TR20 ([UNICODE TR20]) также объявляет совершенно чётко, что они не совместимы с разметкой.

Области:

ОФ fo:character генерирует и возвращает одну или более областей normal inline-area.

ПРИМЕЧАНИЕ:

Случаи, когда генерируется одна или более областей inline-area, вычисляются в скриптах, где одиночный символ генерирует и префикс, и суффикс глифа для какого-то другого символа.

Ограничения:

Размеры областей определяются метриками шрифта для глифа.

При форматировании fo:character с "treat-as-word-space", имеющим значение "true", Пользовательский Агент может использовать различные методы для определения величины inline-progression-dimension для области.

ПРИМЕЧАНИЕ:

Такие методы обычно используют значение межсловного расстояния/word space, хранимое в шрифте, или значение word space определяет форматировщик.

Содержимое:

EMPTY

Следующие свойства применяются к данному ОФ:

6.6.4 fo:initial-property-set

Обычное Использование:

Вспомогательный ОФ fo:initial-property-set специфицирует свойства форматирования для первой строки объекта fo:block.

ПРИМЕЧАНИЕ:

Аналогичен псевдоэлементу first-line в CSS.

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

Области:

ОФ fo:initial-property-set не генерирует и не возвращает никаких областей. Он просто содержит набор уточнений, применяемых к первой строчной области в той области, которая имеет значение "true" уточнения is-first и которая была сгенерирована родительским объектом fo:block набора fo:initial-property-set.

Получение Уточнения:

Уточнения в первоначальном наборе fo:initial-property-set принимаются в расчёт как уточнения, ограничивающие первую строку, как если бы дочерние инлайн-ОФ объекта fo:block или часть из них, в случае с line-break, использованные при форматировании первой строки, были заключены внутри fo:wrapper как прямого потомка объекта fo:block с теми же ограничениями.

Ограничения:

Отсутствуют.

Содержимое:

EMPTY

Следующие свойства применяются к данному ОФ:

6.6.5 fo:external-graphic

Обычное Использование:

Объект потока fo:external-graphic используется для графики, когда данные графики находятся вне дерева fo:element.

Области:

ОФ fo:external-graphic генерирует и возвращает одну инлайн-область viewport-area и одну область reference-area, содержащую внешнюю графику. Область инлайн-уровня использует прямоугольник large-allocation-rectangle, как определено в разделе [4.2.3 Геометрические Определения].

ПРИМЕЧАНИЕ:

fo:external-graphic может быть размещён на уровне блока путём включения его в fo:block.

"line-stacking-strategy" со значением "max-height" или "line-height" обычно используется для стэкирования одной или более строк с содержимым fo:external-graphic.

Ограничения:

Размер порта просмотра определяется уточнениями block-progression-dimension и inline-progression-dimension. Для значений "auto" используется размер содержимого графики.

Размер содержимого графики определяется путём взятия размера графики и масштабирования его, как специфицировано в уточнениях content-height, content-width и scaling. Если content-height или content-width не установлены в "auto", тот же самый фактор масштабирования (подсчитанный из не-auto значения) применяется одинаково в обоих направлениях.

После масштабирования область reference-area выравнивается относительно области порта просмотра с использованием уточнений text-align и display-align. Если графика слишком велика для области порта просмотра, она выравнивается так, как если бы она вмещалась и уточнение overflow управляло усечением, полосами прокрутки и т.д.

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

ПРИМЕЧАНИЕ:

Например, размер 1/96" может использоваться как размер одного пиксела для растровых изображений.

Содержимое:

EMPTY

Следующие свойства применяются к данному ОФ:

 

Назад

Оглавление

В начало страницы

Вперёд

 

Pyramidin.Narod.RU