TTML10 2nd Ed (9.3.3) - Ensure space filler accounts for tts:displayAlign semantics; Minor source cleanup
authorGlenn Adams <glenn@skynav.com>
Sat, 22 Sep 2012 14:17:24 +0800
changeset 291 1728b19d70d5
parent 290 4bfbdef21064
child 292 7eda6fdb7e75
TTML10 2nd Ed (9.3.3) - Ensure space filler accounts for tts:displayAlign semantics; Minor source cleanup
ttml10/spec/examples/ex1-p-0.xml
ttml10/spec/ttaf1-dfxp.xml
--- a/ttml10/spec/examples/ex1-p-0.xml	Fri Sep 21 14:45:42 2012 +0800
+++ b/ttml10/spec/examples/ex1-p-0.xml	Sat Sep 22 14:17:24 2012 +0800
@@ -13,6 +13,11 @@
         background-color="black" display-align="center">
         <!-- body (b1) -->
         <fo:block id="b1-1">
+          <!-- body's space (before) filler -->
+          <fo:block
+            space-after.optimum="96px"
+            space-after.maximum="96px"
+            space-after.conditionality="retain"/>
           <!-- div (d1) -->
           <fo:block id="d1-1">
             <!-- p (p1) -->
@@ -21,7 +26,7 @@
               color="red">Text 1</fo:inline>
             </fo:block>
           </fo:block>
-          <!-- body's space filler ->
+          <!-- body's space (after) filler -->
           <fo:block
             space-after.optimum="96px"
             space-after.maximum="96px"
@@ -34,6 +39,11 @@
         background-color="black" display-align="center">
         <!-- body (b1) -->
         <fo:block id="b1-2">
+          <!-- body's space (before) filler -->
+          <fo:block
+            space-after.optimum="96px"
+            space-after.maximum="96px"
+            space-after.conditionality="retain"/>
           <!-- div (d1) -->
           <fo:block id="d1-2">
             <!-- p (p2) -->
@@ -42,7 +52,7 @@
               color="yellow">Text 2</fo:inline>
             </fo:block>
           </fo:block>
-          <!-- body's space filler ->
+          <!-- body's space (after) filler -->
           <fo:block
             space-after.optimum="96px"
             space-after.maximum="96px"
--- a/ttml10/spec/ttaf1-dfxp.xml	Fri Sep 21 14:45:42 2012 +0800
+++ b/ttml10/spec/ttaf1-dfxp.xml	Sat Sep 22 14:17:24 2012 +0800
@@ -7365,8 +7365,13 @@
 <item>
 <p>for the resulting <el>fo:block</el> formatting object
 produced in the previous step that corresponds to the <el>body</el>
-element, synthesize and append to the end of its children an empty
-  <el>fo:block</el> with the following attributes:
+element, perform the following ordered sub-steps:</p>
+<olist>
+<item>
+<p>if the <att>display-align</att> style property of this <el>fo:block</el>
+has the value <code>center</code> or <code>after</code>,
+then synthesize and insert as the first child of this <el>fo:block</el>
+an empty <el>fo:block</el> with the following attributes:
 <att>space-after.optimum</att>, <att>space-after.maximum</att>, and
 <att>space-after.conditionality</att>, where the value of the former
 two attributes is the height or width of the containing
@@ -7375,6 +7380,20 @@
 <code>retain</code>;</p>
 </item>
 <item>
+<p>if the <att>display-align</att> style property of this <el>fo:block</el>
+has the value <code>center</code> or <code>before</code>,
+then synthesize and insert as the last child of this <el>fo:block</el>
+an empty <el>fo:block</el> with the following attributes:
+<att>space-after.optimum</att>, <att>space-after.maximum</att>, and
+<att>space-after.conditionality</att>, where the value of the former
+two attributes is the height or width of the containing
+<el>fo:block-container</el> element, whichever of these is designated
+as the block progression dimension, and where the value of the last is
+<code>retain</code>;</p>
+</item>
+</olist>
+</item>
+<item>
 <p>for each <el>span</el> element that is not
 associated with a <att>tts:display</att> style property with the value
 <code>none</code> and for each anonymous
@@ -7436,9 +7455,9 @@
 semantics defined by this specification.</p>
 </note>
 --> 
-  <p>For each resulting document instance F, if processing requires presentation on a 
-  visual medium, then apply formatting and rendering semantics consistent with that 
-  prescribed by <bibref ref="xsl11"/>.</p>
+<p>For each resulting document instance F, if processing requires presentation on a 
+visual medium, then apply formatting and rendering semantics consistent with that 
+prescribed by <bibref ref="xsl11"/>.</p>
 <note role="elaboration">
 <p>In an XSL FO area tree produced by formatting <emph>F</emph> using 
 an <bibref ref="xsl11"/> formatting processor, 
@@ -7449,14 +7468,23 @@
 above in <specref ref="definitions"/>.</p>
 </note>
 <note>
-<p>
-  Due to the possible presence of TTML style properties or style property values
-  in a given TTML document instance for which there is no <bibref ref="xsl11"/> counterpart,
-  Implementors should recognize that it is the layout model of <bibref ref="xsl11"/> that is being referenced
-  by this specification, not the requirement to use a compliant <bibref ref="xsl11"/> formatting processor,
-  since such would not necessarily be sufficient to satisfy the full presentation semantics
-  defined by this specification, and would contain a large number of features not needed to
-  implement the presentation semantics of TTML.</p>
+<p>Due to the possible presence of TTML style properties or style property values
+in a given TTML document instance for which there is no <bibref ref="xsl11"/> counterpart,
+Implementors should recognize that it is the layout model of <bibref ref="xsl11"/> that is being referenced
+by this specification, not the requirement to use a compliant <bibref ref="xsl11"/> formatting processor,
+since such would not necessarily be sufficient to satisfy the full presentation semantics
+defined by this specification, and would contain a large number of features not needed to
+implement the presentation semantics of TTML.</p>
+</note>
+<note role="explanation">
+<p>The purpose of inserting additional, collapsible space in the block progression
+dimension of the <el>fo:block</el> that corresponds with the <el>body</el> element
+is to ensure that the before and after edges of this <el>fo:block</el> are coincident
+with the before and after edges of the <el>fo:block-container</el> that corresponds
+to the containing <el>region</el>, while simultaneously taking into account the needs
+to satisfy alignment in the block progression dimension. For example, this assures that
+the background color associated with the <el>body</el> element, if not <code>transparent</code>,
+ will fill the containing region wholly.</p>
 </note>
 </div3>
 <div3 id="semantics-region-layout-example">