[ttml2] add tts:fontKerning style attribute (issue 359)
authorGlenn Adams <glenn@skynav.com>
Mon, 05 Jan 2015 16:41:34 -0700
changeset 809 53d4e923f75c
parent 808 34035b8d68f6
child 810 941b61b5bd8e
[ttml2] add tts:fontKerning style attribute (issue 359)
ttml2/spec/rnc/ttml2-datatypes.rnc
ttml2/spec/rnc/ttml2-styling-attribs.rnc
ttml2/spec/ttml2.xml
ttml2/spec/xsd/ttml2-datatypes.xsd
ttml2/spec/xsd/ttml2-styling-attribs.xsd
--- a/ttml2/spec/rnc/ttml2-datatypes.rnc	Mon Jan 05 13:12:16 2015 -0700
+++ b/ttml2/spec/rnc/ttml2-datatypes.rnc	Mon Jan 05 16:41:34 2015 -0700
@@ -116,6 +116,10 @@
 TTAF.FontFamily.datatype =
   string
 
+TTAF.FontKerning.datatype =
+  "none" |
+  "normal"
+
 TTAF.FontSize.datatype =
   string
 
--- a/ttml2/spec/rnc/ttml2-styling-attribs.rnc	Mon Jan 05 13:12:16 2015 -0700
+++ b/ttml2/spec/rnc/ttml2-styling-attribs.rnc	Mon Jan 05 16:41:34 2015 -0700
@@ -30,6 +30,8 @@
   = attribute tts:extent { TTAF.Extent.datatype }?
 TTAF.fontFamily.attrib
   = attribute tts:fontFamily { TTAF.FontFamily.datatype }?
+TTAF.fontKerning.attrib
+  = attribute tts:fontKerning { TTAF.FontKerning.datatype }?
 TTAF.fontSize.attrib
   = attribute tts:fontSize { TTAF.FontSize.datatype }?
 TTAF.fontStyle.attrib
@@ -104,6 +106,7 @@
   TTAF.displayAlign.attrib,
   TTAF.extent.attrib,
   TTAF.fontFamily.attrib,
+  TTAF.fontKerning.attrib,
   TTAF.fontSize.attrib,
   TTAF.fontStyle.attrib,
   TTAF.fontVariantPosition.attrib,
--- a/ttml2/spec/ttml2.xml	Mon Jan 05 13:12:16 2015 -0700
+++ b/ttml2/spec/ttml2.xml	Mon Jan 05 16:41:34 2015 -0700
@@ -2988,6 +2988,7 @@
 <loc href="#style-attribute-displayAlign">tts:displayAlign</loc>,
 <loc href="#style-attribute-extent">tts:extent</loc>,
 <loc href="#style-attribute-fontFamily">tts:fontFamily</loc>,
+<loc href="#style-attribute-fontKerning">tts:fontKerning</loc>,
 <loc href="#style-attribute-fontSelectionStrategy">tts:fontSelectionStrategy</loc>,
 <loc href="#style-attribute-fontSize">tts:fontSize</loc>,
 <loc href="#style-attribute-fontStyle">tts:fontStyle</loc>,
@@ -7207,6 +7208,7 @@
 <item><p><specref ref="style-attribute-displayAlign"/></p></item>
 <item><p><specref ref="style-attribute-extent"/></p></item>
 <item><p><specref ref="style-attribute-fontFamily"/></p></item>
+<item><p><specref ref="style-attribute-fontKerning"/></p></item>
 <item><p><specref ref="style-attribute-fontSelectionStrategy"/></p></item>
 <item><p><specref ref="style-attribute-fontSize"/></p></item>
 <item><p><specref ref="style-attribute-fontStyle"/></p></item>
@@ -8455,6 +8457,69 @@
 &sect; 7.9.2.</p>
 </note>
 </div3>
+
+<div3 id="style-attribute-fontKerning">
+<head>tts:fontKerning</head>
+<p>The <att>tts:fontKerning</att> attribute is used to specify a style property that
+determines whether font kerning is applied when positioning glyph areas.</p>
+<p>This attribute may be specified by any element type
+that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to those element types indicated in the following table.</p>
+<table id="style-property-details-fontKerning" role="common">
+<col width="25%"/>
+<col/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>none</code> |
+<code>normal</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>If the value of this attribute is <code>normal</code>, then kerning should be applied if kerning data is available.
+If the value of this attribute is <code>none</code>, then kerning should not be applied whether or not kerning data is available.</p>
+<p>If a computed value of the property associated with this attribute is not supported,
+then a <loc href="#terms-presentation-processor">presentation processor</loc> must use the value <code>normal</code>.</p>
+<p>The <att>tts:fontKerning</att> style is illustrated by the following
+example.</p>
+<ednote>
+<name>Font Kerning Example</name>
+<date>2015-01-05</date>
+<edtext>Insert example fragment and image of tts:fontKerning.</edtext>
+</ednote>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="css3-fonts"/>,
+&sect; 6.3.</p>
+</note>
+</div3>
 <div3 id="style-attribute-fontSelectionStrategy">
 <head>tts:fontSelectionStrategy</head>
 <ednote>
@@ -9666,7 +9731,9 @@
 A percentage value component for a vertical position offset is relative to the height of the
 positioning area minus the height of the associated region.</p>
 <p>The following image depicts a position value <attval>75% 50%</attval>, where the rectangle with dashed line denotes the positioning area and the rectangle
-with solid line denotes the region being positioned.</p>
+with solid line denotes the region being positioned. In this case the region is positioned such that a vertical line located at 75% of its width coincides with
+a vertical line located at 75% of the width of the positioning area, and a horizontal line located at 50% of its height coincides with
+a vertical line located at 50% of the width of the posititoning area.</p>
 <table id="style-attribute-position-percentage-based-positioning" role="example-images">
 <caption>Percentage Based Positioning</caption>
 <tbody>
--- a/ttml2/spec/xsd/ttml2-datatypes.xsd	Mon Jan 05 13:12:16 2015 -0700
+++ b/ttml2/spec/xsd/ttml2-datatypes.xsd	Mon Jan 05 16:41:34 2015 -0700
@@ -161,6 +161,12 @@
   <xs:simpleType name="fontFamily">
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
+  <xs:simpleType name="fontKerning">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="normal"/>
+    </xs:restriction>
+  </xs:simpleType>
   <xs:simpleType name="fontRange">
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
--- a/ttml2/spec/xsd/ttml2-styling-attribs.xsd	Mon Jan 05 13:12:16 2015 -0700
+++ b/ttml2/spec/xsd/ttml2-styling-attribs.xsd	Mon Jan 05 16:41:34 2015 -0700
@@ -16,6 +16,7 @@
   <xs:attribute name="displayAlign" type="ttd:displayAlign"/>
   <xs:attribute name="extent" type="ttd:extent"/>
   <xs:attribute name="fontFamily" type="ttd:fontFamily"/>
+  <xs:attribute name="fontKerning" type="ttd:fontKerning"/>
   <xs:attribute name="fontSize" type="ttd:fontSize"/>
   <xs:attribute name="fontStyle" type="ttd:fontStyle"/>
   <xs:attribute name="fontVariantPosition" type="ttd:fontVariantPosition"/>
@@ -55,6 +56,7 @@
     <xs:attribute ref="tts:displayAlign"/>
     <xs:attribute ref="tts:extent"/>
     <xs:attribute ref="tts:fontFamily"/>
+    <xs:attribute ref="tts:fontKerning"/>
     <xs:attribute ref="tts:fontSize"/>
     <xs:attribute ref="tts:fontStyle"/>
     <xs:attribute ref="tts:fontVariantPosition"/>