Remove the kerning property. (ACTION-3300)
authorCameron McCormack <cam@mcc.id.au>
Wed, 25 Jul 2012 06:29:27 +1000
changeset 201 662bb6197c06
parent 200 af8ee64869c6
child 202 a4ab0fba933b
Remove the kerning property. (ACTION-3300)
master/changes.html
master/definitions.xml
master/painting.html
master/propidx.html
master/styling.html
master/svg.idl
master/svgdom.html
master/text.html
--- a/master/changes.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/changes.html	Wed Jul 25 06:29:27 2012 +1000
@@ -63,6 +63,8 @@
   section about <a>'text-overflow'</a> processing.</li>
   
   <li>Added <a>'white-space'</a> property and deprecated <a>'xml:space'</a> attribute.</li>
+
+  <li>Removed the <span class='property'>'kerning'</span> property.</li>
 </ul>
 
 <h3 id="painting">Painting chapter</h3>
--- a/master/definitions.xml	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/definitions.xml	Wed Jul 25 06:29:27 2012 +1000
@@ -1159,7 +1159,7 @@
   <attributecategory
     name='presentation'
     href='intro.html#TermPresentationAttribute'
-    presentationattributes='alignment-baseline, baseline-shift, buffered-rendering, clip, clip-path, clip-rule, color, color-interpolation, color-interpolation-filters, color-profile, color-rendering, cursor, direction, display, dominant-baseline, enable-background, fill, fill-opacity, fill-rule, filter, flood-color, flood-opacity, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, glyph-orientation-horizontal, glyph-orientation-vertical, image-rendering, kerning, letter-spacing, lighting-color, marker-end, marker-mid, marker-start, mask, opacity, overflow, pointer-events, shape-rendering, solid-color, solid-opacity, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-anchor, text-decoration, text-overflow, text-rendering, unicode-bidi, visibility, word-spacing, writing-mode'/>
+    presentationattributes='alignment-baseline, baseline-shift, buffered-rendering, clip, clip-path, clip-rule, color, color-interpolation, color-interpolation-filters, color-profile, color-rendering, cursor, direction, display, dominant-baseline, enable-background, fill, fill-opacity, fill-rule, filter, flood-color, flood-opacity, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, glyph-orientation-horizontal, glyph-orientation-vertical, image-rendering, letter-spacing, lighting-color, marker-end, marker-mid, marker-start, mask, opacity, overflow, pointer-events, shape-rendering, solid-color, solid-opacity, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-anchor, text-decoration, text-overflow, text-rendering, unicode-bidi, visibility, word-spacing, writing-mode'/>
 
   <attributecategory
       name='document event'
@@ -1301,7 +1301,6 @@
   <property name='glyph-orientation-horizontal' href='text.html#GlyphOrientationHorizontalProperty'/>
   <property name='glyph-orientation-vertical' href='text.html#GlyphOrientationVerticalProperty'/>
   <property name='image-rendering' href='painting.html#ImageRenderingProperty'/>
-  <property name='kerning' href='text.html#KerningProperty'/>
   <property name='letter-spacing' href='text.html#LetterSpacingProperty'/>
   <property name='lighting-color' href='filters.html#LightingColorProperty'/>
   <property name='marker' href='painting.html#MarkerProperty'/>
--- a/master/painting.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/painting.html	Wed Jul 25 06:29:27 2012 +1000
@@ -1706,7 +1706,7 @@
      <marker href="#Square" position="100%"/>
      <marker href="#Circle" position="50px"/>
      <marker href="#Circle" position="calc(100% - 50px)"/>
-     <marker position="50%">
+     <marker position="50%">  <!-- need refX and refY -->
        <!-- the cross -->
        <path d="M 3,3 L 7,7 M 3,7 L 7,3"
              fill="none" stroke="black" stroke-width="2"/>
--- a/master/propidx.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/propidx.html	Wed Jul 25 06:29:27 2012 +1000
@@ -612,23 +612,6 @@
           <td>yes</td>
         </tr>
         <tr>
-          <td><a>'kerning'</a></td>
-          <td>auto | <a
-          href="types.html#DataTypeLength">&lt;length&gt;</a> | <a
-          class="noxref"
-          href="http://www.w3.org/TR/2008/REC-CSS2-20080411/cascade.html#value-def-inherit">
-          <span
-          class="value-inst-inherit noxref">inherit</span></a></td>
-          <td>auto</td>
-          <td><a>text content elements</a></td>
-          <td>yes</td>
-          <td>N/A</td>
-          <td><a
-          href="http://www.w3.org/TR/2008/REC-CSS2-20080411/media.html#visual-media-group">
-          visual</a></td>
-          <td>yes</td>
-        </tr>
-        <tr>
           <td><a>'letter-spacing'</a></td>
           <td>normal | <a
           href="types.html#DataTypeLength">&lt;length&gt;</a> | <a
--- a/master/styling.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/styling.html	Wed Jul 25 06:29:27 2012 +1000
@@ -171,7 +171,6 @@
       <li><a>'dominant-baseline'</a></li>
       <li><a>'glyph-orientation-horizontal'</a></li>
       <li><a>'glyph-orientation-vertical'</a></li>
-      <li><a>'kerning'</a></li>
       <li><a>'text-anchor'</a></li>
       <li><a>'writing-mode'</a></li>
     </ul>
--- a/master/svg.idl	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/svg.idl	Wed Jul 25 06:29:27 2012 +1000
@@ -5081,7 +5081,7 @@
      * The total sum of all of the advance values from rendering all of the
      * characters within this element, including the advance value on the
      * glyphs (horizontal or vertical), the effect of properties
-     * <a>'kerning'</a>, <a>'letter-spacing'</a> and <a>'word-spacing'</a> and
+     * <a>'letter-spacing'</a> and <a>'word-spacing'</a> and
      * adjustments due to attributes <a>'tspan/dx'</a> and <a>'tspan/dy'</a> on
      * <a>'tspan'</a> elements. For non-rendering environments, the user agent
      * shall make reasonable assumptions about glyph metrics. 
@@ -5093,7 +5093,7 @@
     /**
      * The total sum of all of the advance values from rendering the specified 
      * substring of the characters, including the advance value on the glyphs 
-     * (horizontal or vertical), the effect of properties <a>'kerning'</a>, 
+     * (horizontal or vertical), the effect of properties
      * <a>'letter-spacing'</a> and <a>'word-spacing'</a> and adjustments due to 
      * attributes <a>'tspan/dx'</a> and <a>'tspan/dy'</a> on <a>'tspan'</a> elements. For 
      * non-rendering environments, the user agent shall make reasonable 
@@ -5121,7 +5121,7 @@
      * user coordinate system for rendering the glyph(s) that correspond to
      * the specified character. The current text position has already taken
      * into account the effects of any inter-character adjustments due to
-     * properties <a>'kerning'</a>, <a>'letter-spacing'</a> and
+     * properties <a>'letter-spacing'</a> and
      * <a>'word-spacing'</a> and adjustments due to attributes
      * <span class='attr-name'>'x'</span>, <span class='attr-name'>'y'</span>,
      * <span class='attr-name'>'dx'</span> and
@@ -5144,7 +5144,7 @@
      * user coordinate system for rendering the glyph(s) that correspond to
      * the specified character. This current text position does <em>not</em> take into
      * account the effects of any inter-character adjustments to prepare for
-     * the next character, such as properties <a>'kerning'</a>,
+     * the next character, such as properties
      * <a>'letter-spacing'</a> and <a>'word-spacing'</a> and adjustments due to
      * attributes <span class='attr-name'>'x'</span>,
      * <span class='attr-name'>'y'</span>, <span class='attr-name'>'dx'</span>
--- a/master/svgdom.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/svgdom.html	Wed Jul 25 06:29:27 2012 +1000
@@ -660,11 +660,6 @@
     <td>&nbsp;</td>
   </tr>
   <tr>
-    <td><a>'kerning'</a></td>
-    <td>ident, length</td>
-    <td>&nbsp;</td>
-  </tr>
-  <tr>
     <td><a>'letter-spacing'</a></td>
     <td>ident, length</td>
     <td>&nbsp;</td>
--- a/master/text.html	Tue Jul 24 20:12:23 2012 +0200
+++ b/master/text.html	Wed Jul 25 06:29:27 2012 +1000
@@ -559,7 +559,7 @@
         advance values that correspond to character data within
         this element, including the advance value on the glyph
         (horizontal or vertical), the effect of properties
-        <a>'kerning'</a>, <a>'letter-spacing'</a> and <a>'word-spacing'</a>
+        <a>'letter-spacing'</a> and <a>'word-spacing'</a>
         and adjustments due to attributes <a>'tspan/dx'</a> and
         <a>'tspan/dy'</a> on <a>'tspan'</a> elements. This
         value is used to calibrate the user agent's own
@@ -626,7 +626,7 @@
         href="types.html#DataTypeLength">&lt;length&gt;</a></span>"</dt>
         <dd>Indicates the maximum length that the text is allowed to have 
         before being subject to <a>'text-overflow'</a> handling.
-        Whenever the sum of advances (including properties <a>'kerning'</a>, <a>'letter-spacing'</a> and <a>'word-spacing'</a> and 
+        Whenever the sum of advances (including properties <a>'letter-spacing'</a> and <a>'word-spacing'</a> and 
         adjustments due to attributes <a>'dx'</a> and <a>'dy'</a> on <a>'tspan'</a> elements) computed by the user agent exceeds 
         the given width the <a>'text'</a> element is subject to <a>'text-overflow'</a> processing.
         <p>The given width does not affect SVG DOM methods for measuring text, but
@@ -850,7 +850,7 @@
         <dd>The author's computation of the total sum of all of the
         advance values that correspond to character data within
         this element, including the advance value on the glyph
-        (horizontal or vertical), the effect of properties <a>'kerning'</a>,
+        (horizontal or vertical), the effect of properties
         <a>'letter-spacing'</a> and <a>'word-spacing'</a> and adjustments due
         to attributes <a>'dx'</a> and <a>'dy'</a> on this <a>'tspan'</a>
         element or any descendants. This value is used to calibrate the user
@@ -1396,8 +1396,8 @@
   ([<a href="refs.html#ref-CSS2">CSS2</a>], section 16.4),
   when the resultant space between two characters is not the
   same as the default space, user agents should not use
-  ligatures; thus, if there are non-default values for
-  properties <a>'kerning'</a> or <a>'letter-spacing'</a>, the user agent
+  ligatures; thus, if there is a non-default value for
+  <a>'letter-spacing'</a>, the user agent
   should not use ligatures.</li>
 
   <li>Ligature formation should not be enabled for the glyphs
@@ -3291,101 +3291,22 @@
 
 <h2 id="SpacingProperties">Spacing properties</h2>
 
-<p>Three properties affect the space between characters and words:</p>
+<p>Two properties affect the space between characters and words:</p>
 
 <ul>
-  <li><a>'kerning'</a> indicates whether the
-  user agent should adjust inter-glyph spacing based on kerning
-  tables that are included in the relevant font (i.e., enable
-  auto-kerning) or instead disable auto-kerning and instead set
-  inter-character spacing to a specific length (typically,
-  zero).</li>
-
   <li><a>'letter-spacing'</a> indicates an
-  amount of space that is to be added between text characters
-  supplemental to any spacing due to the <a>'kerning'</a> property.</li>
+  amount of space that is to be added between text characters.</li>
 
   <li><a>'word-spacing'</a> indicates the
   spacing behavior between words.</li>
 </ul>
 
-    <div class="propdef">
-      <dl>
-        <dt id="KerningProperty"><span class="propdef-title property">'kerning'</span></dt>
-        <dd>
-          <table summary="kerning property" class="propinfo"
-          cellspacing="0" cellpadding="0">
-            <tr valign="baseline">
-              <td><em>Value:</em>&nbsp;&nbsp;</td>
-              <td>auto | &lt;length&gt; | <a class="noxref"
-              href="http://www.w3.org/TR/2008/REC-CSS2-20080411/cascade.html#value-def-inherit">
-              <span
-              class="value-inst-inherit noxref">inherit</span></a></td>
-            </tr>
-            <tr valign="baseline">
-              <td><em>Initial:</em>&nbsp;&nbsp;</td>
-              <td>auto</td>
-            </tr>
-            <tr valign="baseline">
-              <td><em>Applies to:</em>&nbsp;&nbsp;</td>
-              <td><a>text content elements</a></td>
-            </tr>
-            <tr valign="baseline">
-              <td><em>Inherited:</em>&nbsp;&nbsp;</td>
-              <td>yes</td>
-            </tr>
-            <tr valign="baseline">
-              <td><em>Percentages:</em>&nbsp;&nbsp;</td>
-              <td>N/A</td>
-            </tr>
-            <tr valign="baseline">
-              <td><em>Media:</em>&nbsp;&nbsp;</td>
-              <td>visual</td>
-            </tr>
-            <tr valign="baseline">
-              <td><em><a
-              href="animate.html#Animatable">Animatable</a>:</em>&nbsp;&nbsp;</td>
-              <td>yes</td>
-            </tr>
-          </table>
-        </dd>
-      </dl>
-    </div>
-
-<p>The value of <span class="prop-value">auto</span> indicates
-that the user agent should adjust inter-glyph spacing based on
-kerning tables that are included in the font that will be used
-(i.e., enable auto-kerning).</p>
-
-<p>If a <span class="prop-value">&lt;length&gt;</span> is
-provided, then auto-kerning is disabled. Instead,
-inter-character spacing is set to the given <span
-class="prop-value">&lt;length&gt;</span>. The most common
-scenario, other than <span class="prop-value">auto</span>, is
-to set <a>'kerning'</a> to a value of
-<span class="prop-value">0</span> so that auto-kerning is
-disabled.</p>
-
-<p>If a <span class="prop-value">&lt;length&gt;</span> is
-provided without a unit identifier (e.g., an unqualified number
-such as <span class="attr-value">128</span>), the SVG user
-agent processes the <span
-class="prop-value">&lt;length&gt;</span> as a width value in
-the current user coordinate system.</p>
-
-<p>If a <span class="prop-value">&lt;length&gt;</span> is
-provided with one of the <a
-href="coords.html#Units">unit identifiers</a> (e.g.,
-<span class="attr-value">.25em</span> or <span
-class="attr-value">1%</span>), then the SVG user agent converts
-the <span class="prop-value">&lt;length&gt;</span> into a
-corresponding value in the current user coordinate system by
-applying the rules described in <a
-href="coords.html#Units">Units</a>.</p>
-
-<p>When a <span class="prop-value">&lt;length&gt;</span> is
-provided, its value is added to the inter-character spacing
-value specified by the <a>'letter-spacing'</a> property.</p>
+<p class='issue'>Note that the <span class='property'>'kerning'</span> property
+from SVG 1.1 has been removed in favor of using <a>'letter-spacing'</a> to add or remove spacing
+between glyphs and the <span class='property'>'font-kerning'</span> property to
+disable kerning based on information from the font.</p>
+
+<p class='issue'>We need to require <span class='property'>'font-kerning'</span>.</p>
 
     <div class="propdef">
       <dl>
@@ -3430,8 +3351,7 @@
       </dl>
     </div>
 
-<p>This property specifies spacing behavior between text
-characters supplemental to any spacing due to the <a>'kerning'</a> property.</p>
+<p>This property specifies spacing behavior between text characters.</p>
 
 <p>For SVG, if a <span class="prop-value">&lt;length&gt;</span>
 is provided without a unit identifier (e.g., an unqualified