csswg/css3-text Overview.html,1.117,1.118 Overview.src.html,1.215,1.216

Update of /sources/public/csswg/css3-text
In directory hutz:/tmp/cvs-serv15255

Modified Files:
	Overview.html Overview.src.html 
Log Message:
Another reorg of text-spacing prose. Also address proportional fonts.

Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css3-text/Overview.html,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- Overview.html	25 Apr 2011 04:37:55 -0000	1.117
+++ Overview.html	27 Apr 2011 01:04:53 -0000	1.118
@@ -83,14 +83,14 @@
 
    <h1>CSS Text Level 3</h1>
 
-   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 25 April 2011</h2>
+   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 27 April 2011</h2>
 
    <dl>
     <dt>This version:
 
     <dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date:
-     2011/04/21 05:05:33 $ (CVS $Revision$)</a> <!--
-      <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110425/">http://www.w3.org/TR/2011/WD-css3-text-20110425/</a></dd>
+     2011/04/25 04:37:55 $ (CVS $Revision$)</a> <!--
+      <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110427/">http://www.w3.org/TR/2011/WD-css3-text-20110427/</a></dd>
     -->
      
 
@@ -378,6 +378,13 @@
      <li><a href="#text-spacing-prop"><span class=secno>9.3. </span>
       Character Class Spacing: the &lsquo;<code
       class=property>text-spacing</code>&rsquo; property</a>
+      <ul class=toc>
+       <li><a href="#fullwidth-collapsing"><span class=secno>9.3.1. </span>
+        Fullwidth Punctuation Collapsing</a>
+
+       <li><a href="#text-spacing-classes"><span class=secno>9.3.2. </span>
+        Text Spacing Character Classes</a>
+      </ul>
     </ul>
 
    <li><a href="#edge-effects"><span class=secno>10. </span> Edge Effects</a>
@@ -3240,7 +3247,7 @@
     class=css>inter-ideograph</code>&rsquo; and the &lsquo;<a
     href="#text-spacing"><code class=property>text-spacing</code></a>&rsquo;
     property does not specify &lsquo;<code
-    class=css>no-justify</code>&rsquo;.</p>
+    class=css>no-compress</code>&rsquo;.</p>
 
    <p>It produces an effect similar to cases where the computed value of
     &lsquo;<a href="#text-spacing"><code
@@ -3537,8 +3544,8 @@
      <th>Value:
 
      <td>normal | none | trim-start || [ trim-end | space-end ] ||
-      space-adjacent || no-justify || ideograph-alpha || ideograph-numeric ||
-      punctuation
+      space-adjacent || no-compress || ideograph-alpha || ideograph-numeric
+      || punctuation
 
     <tr>
      <th>Initial:
@@ -3574,231 +3581,185 @@
   <p>This property controls spacing between adjacent characters on the same
    line within the same inline formatting context using a set of
    character-class-based rules. Such spacing can either be created between or
-   trimmed from the affected glyphs. Values other than &lsquo;<code
-   class=css>normal</code>&rsquo; and &lsquo;<code
-   class=css>none</code>&rsquo; modify (override) the baseline behavior
-   defined for &lsquo;<code class=css>normal</code>&rsquo;. Values are
-   defined as follows:
+   trimmed from the affected glyphs. Values are defined as follows:
 
   <dl>
    <dt><dfn id=normal5 title="text-spacing:normal">normal</dfn>
 
-   <dd>Specifies the baseline behavior (defined below).
-    <!-- Equivalent to ''space-start allow-end justify'' -->
+   <dd>Specifies the baseline behavior, equivalent to &lsquo;<code
+    class=css>space-start allow-end trim-adjacent</code>&rsquo;.
 
    <dt><dfn id=none3 title="text-spacing:none">none</dfn>
 
    <dt>
 
    <dd>Turns off all text-spacing features. All fullwidth characters are set
-    at full width. <span class=issue>Should this value include &lsquo;<code
-    class=css>no-justify</code>&rsquo; behavior?</span>
-
-   <dt><dfn id=trim-start title="text-spacing:trim-start">trim-start</dfn>
-
-   <dd>Set fullwidth opening punctuation flush at the start of each line. The
-    UA must trim the blank half of fullwidth punctuation glyphs if necessary.
-    <!--
-      <dt><dfn title="text-spacing:space-start">space-start</dfn></dt>
-        <dd>Set fullwidth opening punctuation at full width at the start
-          of each line. The UA must blank space to fullwidth
-          punctuation glyphs if they are not already full width.
-      -->
-    <!--
-      <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt>
-        <dd>Set fullwidth closing punctuation flush at the end of each
-          line if it does not otherwise fit prior to justification.
-          The UA must trim the blank half of fullwidth punctuation
-          glyphs if necessary.
-      -->
-    
-
-   <dt><dfn id=trim-end title="text-spacing:trim-end">trim-end</dfn>
-
-   <dd>Set fullwidth closing punctuation flush at the end of each line. The
-    UA must trim the blank half of fullwidth punctuation glyphs if necessary.
-
-   <dt><dfn id=space-end title="text-spacing:space-end">space-end</dfn>
-
-   <dd>Set fullwidth opening punctuation at full width at the start of each
-    line. The UA must add blank space to fullwidth punctuation glyphs if they
-    are not already full width.
-
-   <dt><dfn id=space-adjacent
-    title="text-spacing:space-adjacent">space-adjacent</dfn>
-
-   <dd>Set fullwidth opening punctuation at full width when not at the start
-    of the line. Set fullwidth closing punctuation at full width when not at
-    the end of the line. The UA must add blank space to such fullwidth
-    punctuation glyphs if they are not already full width.
+    with full spacing.
 
    <dt><dfn id=ideograph-alpha
     title="text-spacing:ideograph-alpha">ideograph-alpha</dfn>
 
-   <dd>Creates 1/4em extra spacing between runs of ideographic letters and
-    non-ideographic letters, such as Latin-based, Cyrillic, Greek, Arabic or
-    Hebrew. <span class=note>A commonly used algorithm for determining this
-    behavior is specified in <a href="#JLREQ"
+   <dd>Creates 1/4em extra spacing between runs of <a
+    href="#ideographs"><i>ideographs</i></a> and <a
+    href="#non-ideographic-letters"><i>non-ideographic letters</i></a>. <span
+    class=note>A commonly used algorithm for determining this behavior is
+    specified in <a href="#JLREQ"
     rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a></span>
 
    <dt><dfn id=ideograph-numeric
     title="text-spacing:ideograph-numeric">ideograph-numeric</dfn>
 
-   <dd>Creates 1/4em extra spacing between runs of ideographic letters and
-    non-ideographic numeric glyphs. <span class=note>A commonly used
-    algorithm for determining this behavior is specified in <a href="#JLREQ"
+   <dd>Creates 1/4em extra spacing between runs of <a
+    href="#ideographs"><i>ideographs</i></a> and <i>non-ideographic</i>
+    numeric glyphs. <span class=note>A commonly used algorithm for
+    determining this behavior is specified in <a href="#JLREQ"
     rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a></span>
 
    <dt><dfn id=punctuation title="text-spacing:punctuation">punctuation</dfn>
     
 
    <dd>Creates extra non-breaking spacing around punctuation as required by
-    language-specific typographic conventions. In CSS3, if the element's
-    content language is French, narrow no-break space (U+202F) and no-break
-    space (U+00A0) is be inserted where required by <a
+    language-specific typographic conventions. In this level, if the
+    element's content language is French, narrow no-break space (U+202F) and
+    no-break space (U+00A0) is be inserted where required by <a
     href="http://unicode.org/udhr/n/notes_fra.html">French typographic
     guidelines</a>. Otherwise this value has no effect. However future
     specifications may add automatic spacing behavior for other languages.
 
-   <dt><dfn id=no-justify title="text-spacing:no-justify">no-justify</dfn>
-
-   <dd>Justification may not alter text-spacing. (If this value is not
-    specified, the justification process may alter autospacing except when
-    the spacing is at the start or end of the line.) <span class=note> An
-    example of compression rules is given for Japanese in 3.8 Line Adjustment
-    in <a href="#JLREQ" rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a>.</span>
-  </dl>
-
-  <p>In the baseline behavior the UA must:
+   <dt><dfn id=space-start title="text-spacing:space-start">space-start</dfn>
 
-  <ul>
-   <li>Set fullwidth opening punctuation at full width at the start of each
-    line. (This can require adding space to punctuation glyphs.) This
-    behavior is overridden when &lsquo;<code
-    class=css>trim-start</code>&rsquo; is specified.
+   <dd>Set <a href="#fullwidth-opening-punctuation0"><i>fullwidth opening
+    punctuation</i></a> fully spaced at the start of each line.
 
-   <li>Set fullwidth closing punctuation flush at the end of each line if it
-    does not otherwise fit prior to justification. (This can require trimming
-    the blank half of fullwidth punctuation glyphs.) This behavior is
-    overridden when &lsquo;<code class=css>trim-end</code>&rsquo; or
-    &lsquo;<code class=css>space-end</code>&rsquo; is specified.
+   <dt><dfn id=trim-start title="text-spacing:trim-start">trim-start</dfn>
 
-   <li>Set fullwidth opening punctuation at half width if the previous
-    character is a fullwidth opening punctuation, fullwidth middle dot
-    punctuation, fullwidth closing punctuation, or ideographic space
-    (U+3000). Else set it at full width. This behavior is overridden when
-    &lsquo;<code class=css>space-adjacent</code>&rsquo; is specified.
+   <dd>Set <a href="#fullwidth-opening-punctuation0"><i>fullwidth opening
+    punctuation</i></a> flush (trim) at the start of each line.
 
-   <li>Set fullwidth closing punctuation at half width if the next character
-    is a fullwidth closing punctuation, fullwidth middle dot punctuation, or
-    ideographic space (U+3000). Else set it at full width. This behavior is
-    overridden when &lsquo;<code class=css>space-adjacent</code>&rsquo; is
-    specified.
-  </ul>
+   <dt><dfn id=allow-end title="text-spacing:allow-end">allow-end</dfn>
 
-  <p>A fullwidth glyph is one that has the same advance width as a typical
-   Han character in the same font. Typically fullwidth characters have
-   fullwidth glyphs, but depending on the font system, text-spacing may
-   require either:
+   <dd>Set <a href="#fullwidth-closing-punctuation0"><i>fullwidth closing
+    punctuation</i></a> flush (trim) at the end of each line if it does not
+    otherwise fit prior to justification, otherwise sets the punctuation with
+    full spacing.
 
-  <ul>
-   <li>trimming (kerning) the blank half of fullwidth glyphs if they must be
-    set flush / at half width, or
+   <dt><dfn id=space-end title="text-spacing:space-end">space-end</dfn>
 
-   <li>adding space (typically 1/2em) to half-width glyphs if they must be
-    set at full width.
-  </ul>
+   <dd>Set <a href="#fullwidth-opening-punctuation0"><i>fullwidth opening
+    punctuation</i></a> fully spaced at the start of each line.
 
-  <p>In the context of this property the following definitions apply:
+   <dt><dfn id=trim-end title="text-spacing:trim-end">trim-end</dfn>
 
-  <p class=issue>classes and Unicode code point should be reviewed.
+   <dd>Set <a href="#fullwidth-closing-punctuation0"><i>fullwidth closing
+    punctuation</i></a> flush (trim) at the end of each line.
 
-  <dl>
-   <dt id=fullwidth-opening-punctuation><dfn
-    id=fullwidth-opening-punctuation0>fullwidth opening punctuation</dfn>
+   <dt><dfn id=space-adjacent
+    title="text-spacing:space-adjacent">space-adjacent</dfn>
 
-   <dd>Includes any opening punctuation character (Unicode category
-    <code>Ps</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
-    block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
-    (F)</i> by <a href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
-    Also includes LEFT SINGLE QUOTATION MARK (U+2018) and LEFT DOUBLE
-    QUOTATION MARK (U+201C). When trimmed, the left (for horizontal text) or
-    top (for vertical text) half is kerned.
+   <dd>Set <a href="#fullwidth-opening-punctuation0"><i>fullwidth opening
+    punctuation</i></a> fully spaced when not at the start of the line. Set
+    <a href="#fullwidth-closing-punctuation0"><i>fullwidth closing
+    punctuation</i></a> fully spaced when not at the end of the line.
 
-   <dt id=fullwidth-closing-punctuation><dfn
-    id=fullwidth-closing-punctuation0>fullwidth closing punctuation</dfn>
+   <dt><dfn id=trim-adjacent
+    title="text-spacing:trim-adjacent">trim-adjacent</dfn>
 
-   <dd>Includes any closing punctuation character (Unicode category
-    <code>Pe</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
-    block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
-    (F)</i> by <a href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
-    Also includes RIGHT SINGLE QUOTATION MARK (U+2019) and RIGHT DOUBLE
-    QUOTATION MARK (U+201D). May also include fullwidth colon punctuation
-    and/or fullwidth dot punctuation (see below). When trimmed, the right
-    (for horizontal text) or bottom (for vertical text) half is kerned.
+   <dd>Collapse spacing between fullwidth punctuation glyphs <a
+    href="#fullwidth-collapsing">as described below</a>.
 
-   <dt id=fullwidth-middle-dot-punctuation><dfn
-    id=fullwidth-middle-dot-punctuation0>fullwidth middle dot
-    punctuation</dfn>
+   <dt><dfn id=no-compress title="text-spacing:no-compress">no-compress</dfn>
 
-   <dd>Includes MIDDLE DOT (U+00B7), HYPHENATION POINT (U+2027), and KATAKANA
-    MIDDLE DOT (U+30FB). May also include fullwidth colon punctuation and/or
-    fullwidth dot punctuation (see below).
+   <dd>Justification may not compress text-spacing. (If this value is not
+    specified, the justification process may reduce autospacing except when
+    the spacing is at the start or end of the line.) <span class=note> An
+    example of compression rules is given for Japanese in 3.8 Line Adjustment
+    in <a href="#JLREQ" rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a>.</span>
+  </dl>
 
-   <dt id=fullwidth-colon-punctuation><dfn
-    id=fullwidth-colon-punctuation0>fullwidth colon punctuation</dfn>
+  <p>This property is additive with the &lsquo;<a href="#word-spacing0"><code
+   class=property>word-spacing</code></a>&rsquo; and &lsquo;<a
+   href="#letter-spacing0"><code
+   class=property>letter-spacing</code></a>&rsquo; properties. That is, the
+   amount of spacing contributed by the &lsquo;<a
+   href="#letter-spacing0"><code
+   class=property>letter-spacing</code></a>&rsquo; setting (if any) is added
+   to the spacing created by &lsquo;<a href="#text-spacing"><code
+   class=property>text-spacing</code></a>&rsquo;. The same applies to
+   &lsquo;<a href="#word-spacing0"><code
+   class=property>word-spacing</code></a>&rsquo;.
 
-   <dd>Includes FULLWIDTH COLON (U+FF1A) and FULLWIDTH SEMICOLON (U+FF1B).
+  <p>At element boundaries, the amount of extra spacing introduced between
+   characters is determined by and rendered within the innermost element that
+   contains the boundary. If the extra spacing is applied to a particular
+   glyph, then the spacing is determined by the innermost element containing
+   that glyph.
 
-   <dt id=fullwidth-dot-punctuation><dfn
-    id=fullwidth-dot-punctuation0>fullwidth dot punctuation</dfn>
+  <p>Support for this property is <em>optional</em>. It is strongly
+   recommended for UAs that wish to support CJK typography.
 
-   <dd>Includes IDEOGRAPHIC COMMA (U+3001), IDEOGRAPHIC FULL STOP (U+3002),
-    FULLWIDTH COMMA (U+FF0C), FULLWIDTH FULL STOP (U+FF0E).
+  <p class=issue>It was requested to add a value for doubling the space after
+   periods.
 
-   <dt><dfn id=ideographic-letters>Ideographic letters</dfn>
+  <h4 id=fullwidth-collapsing><span class=secno>9.3.1. </span> Fullwidth
+   Punctuation Collapsing</h4>
 
-   <dd>Includes all characters listed below:
-    <ul>
-     <li>All characters in the range of U+3041 to U+30FF, except that belongs
-      to Unicode Punctuation [P*] category.
+  <p>Typically fullwidth characters have glyphs with the same advance width
+   as a standard Han character (e.g. 水 U+6C34). However, many fullwidth
+   punctuation glyphs only take up part of the fullwidth design space. Thus
+   such punctuation are not always set fullwidth. Several values of &lsquo;<a
+   href="#text-spacing"><code class=property>text-spacing</code></a>&rsquo;
+   allow the author to control when such characters are set trim (at their
+   glyph's width, typically half the width of an ideograph) and when they are
+   set fully spaced.
 
-     <li>CJK Strokes (U+31C0 to U+31EF).
+  <p>In order to set the text as specified, the UA may need to either
 
-     <li>Katakana Phonetic Extensions (U+31F0 to U+31FF).
+  <ul>
+   <li>trim (kern) the blank half of the glyphs if they are fully spaced and
+    must be set trim, or
 
-     <li>All characters that belongs to Han Unicode Script Property <a
-      href="#UAX24" rel=biblioentry>[UAX24]<!--{{!UAX24}}--></a>.
-    </ul>
+   <li>add space to the glyphs if they are trim must be set fully spaced
+  </ul>
 
-   <dt><dfn id=non-ideographic-letters>Non-ideographic letters</dfn>
+  <p>Some fonts (e.g. MS PMincho) use proportional glyphs for fullwidth
+   punctuation characters. In such cases, the UA should not apply text
+   spacing rules to these glyphs, and instead always set them at their
+   natural width.
 
-   <dd>Includes all characters that belongs to Unicode Letters [L*] and Mark
-    [M*] category, except any of the following conditions are met:
-    <ul>
-     <li>Is defined as Ideographic letters.
+  <p class=note>The advance width of a standard Han character can be
+   determined either from font metrics such as the OpenType <code>ideo</code>
+   and <code>idtp</code> baselines for the opposite writing mode, or by
+   taking the advance width of a Han character such as 水 U+6C34. (The
+   opposite writing mode must be used because some fonts are compressed so
+   that the characters are not square.) More information on OpenType metrics
+   can be found <a
+   href="http://www.microsoft.com/typography/otspec/baselinetags.htm#ideoembox">in
+   the OpenType spec</a>.
 
-     <li>Is categorized as East Asian Fullwidth (F) by <a href="#UAX11"
-      rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+  <p class=note>If 水 U+6C34, 卜 U+535C, and 一 U+4E00 do not all have the
+   same advance width, the font has proportional ideographs and the fullwidth
+   advance width cannot be reliably determined by measuring glyphs.
 
-     <li>Is upright in vertical text flow using the &lsquo;<code
-      class=property>text-orientation</code>&rsquo; property or the
-      &lsquo;<code class=property>text-combine</code>&rsquo; property.
-    </ul>
+  <p>Unless &lsquo;<a href="#text-spacing"><code
+   class=property>text-spacing</code></a>&rsquo; is set to &lsquo;<code
+   class=css>space-adjacent</code>&rsquo; or &lsquo;<code
+   class=css>none</code>&rsquo; (or the font has proportional fullwidth
+   punctuation glyphs), the UA must collapse the space typically associated
+   with such full width glyphs as follows:
 
-   <dt><dfn id=non-ideographic-numerals>Non-ideographic numerals</dfn>
+  <ul>
+   <li>Set fullwidth opening punctuation trim if the previous character is a
+    fullwidth opening punctuation, fullwidth middle dot punctuation, or
+    ideographic space (U+3000). Else set it fully spaced.
 
-   <dd>Includes all characters that belongs to Unicode Number, Decimal Digit
-    [Nd] category, except any of the following conditions are met:
-    <ul>
-     <li>Is categorized as East Asian Fullwidth (F) by <a href="#UAX11"
-      rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+   <li>Set fullwidth closing punctuation trim if the next character is a
+    fullwidth closing punctuation, fullwidth middle dot punctuation, or
+    ideographic space (U+3000). Else set it at full width.
 
-     <li>Is upright in vertical text flow using the &lsquo;<code
-      class=property>text-orientation</code>&rsquo; property or the
-      &lsquo;<code class=property>text-combine</code>&rsquo; property.
-    </ul>
-  </dl>
+   <li>Set fullwidth closing puntuation followed by fullwidth opening
+    punctuation each "half-spaced", i.e. halfway between trim and fully
+    spaced.
+  </ul>
 
   <div class=example>
    <p>The following example table lists the punctuation pairs affected by
@@ -3868,6 +3829,100 @@
    </table>
   </div>
 
+  <h4 id=text-spacing-classes><span class=secno>9.3.2. </span> Text Spacing
+   Character Classes</h4>
+
+  <p>In the context of this property the following definitions apply:
+
+  <p class=issue>classes and Unicode code point should be reviewed.
+
+  <dl>
+   <dt><dfn id=ideographs>Ideographs</dfn>
+
+   <dd>Includes all characters listed below:
+    <ul>
+     <li>All characters in the range of U+3041 to U+30FF, except that belongs
+      to Unicode Punctuation [P*] category.
+
+     <li>CJK Strokes (U+31C0 to U+31EF).
+
+     <li>Katakana Phonetic Extensions (U+31F0 to U+31FF).
+
+     <li>All characters that belongs to Han Unicode Script Property <a
+      href="#UAX24" rel=biblioentry>[UAX24]<!--{{!UAX24}}--></a>.
+    </ul>
+
+   <dt><dfn id=non-ideographic-letters>Non-ideographic letters</dfn>
+
+   <dd>Includes all characters that belongs to Unicode Letters [L*] and Mark
+    [M*] category, except any of the following conditions are met:
+    <ul>
+     <li>Is defined as Ideographic letters.
+
+     <li>Is categorized as East Asian Fullwidth (F) by <a href="#UAX11"
+      rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+
+     <li>Is upright in vertical text flow using the &lsquo;<code
+      class=property>text-orientation</code>&rsquo; property or the
+      &lsquo;<code class=property>text-combine</code>&rsquo; property.
+    </ul>
+
+   <dt><dfn id=non-ideographic-numerals>Non-ideographic numerals</dfn>
+
+   <dd>Includes all characters that belongs to Unicode Number, Decimal Digit
+    [Nd] category, except any of the following conditions are met:
+    <ul>
+     <li>Is categorized as East Asian Fullwidth (F) by <a href="#UAX11"
+      rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+
+     <li>Is upright in vertical text flow using the &lsquo;<code
+      class=property>text-orientation</code>&rsquo; property or the
+      &lsquo;<code class=property>text-combine</code>&rsquo; property.
+    </ul>
+
+   <dt id=fullwidth-opening-punctuation><dfn
+    id=fullwidth-opening-punctuation0>fullwidth opening punctuation</dfn>
+
+   <dd>Includes any opening punctuation character (Unicode category
+    <code>Ps</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
+    block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
+    (F)</i> by <a href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+    Also includes LEFT SINGLE QUOTATION MARK (U+2018) and LEFT DOUBLE
+    QUOTATION MARK (U+201C). When trimmed, the left (for horizontal text) or
+    top (for vertical text) half is kerned.
+
+   <dt id=fullwidth-closing-punctuation><dfn
+    id=fullwidth-closing-punctuation0>fullwidth closing punctuation</dfn>
+
+   <dd>Includes any closing punctuation character (Unicode category
+    <code>Pe</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
+    block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
+    (F)</i> by <a href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>.
+    Also includes RIGHT SINGLE QUOTATION MARK (U+2019) and RIGHT DOUBLE
+    QUOTATION MARK (U+201D). May also include fullwidth colon punctuation
+    and/or fullwidth dot punctuation (see below). When trimmed, the right
+    (for horizontal text) or bottom (for vertical text) half is kerned.
+
+   <dt id=fullwidth-middle-dot-punctuation><dfn
+    id=fullwidth-middle-dot-punctuation0>fullwidth middle dot
+    punctuation</dfn>
+
+   <dd>Includes MIDDLE DOT (U+00B7), HYPHENATION POINT (U+2027), and KATAKANA
+    MIDDLE DOT (U+30FB). May also include fullwidth colon punctuation and/or
+    fullwidth dot punctuation (see below).
+
+   <dt id=fullwidth-colon-punctuation><dfn
+    id=fullwidth-colon-punctuation0>fullwidth colon punctuation</dfn>
+
+   <dd>Includes FULLWIDTH COLON (U+FF1A) and FULLWIDTH SEMICOLON (U+FF1B).
+
+   <dt id=fullwidth-dot-punctuation><dfn
+    id=fullwidth-dot-punctuation0>fullwidth dot punctuation</dfn>
+
+   <dd>Includes IDEOGRAPHIC COMMA (U+3001), IDEOGRAPHIC FULL STOP (U+3002),
+    FULLWIDTH COMMA (U+FF0C), FULLWIDTH FULL STOP (U+FF0E).
+  </dl>
+
   <p>Whether fullwidth colon punctuation and fullwidth dot punctuation should
    be considered fullwidth closing punctuation or fullwidth middle dot
    punctuation depends on where in the glyph's box the punctuation is drawn.
@@ -3880,9 +3935,9 @@
   <p>The UA must classify fullwidth colon punctuation and fullwidth dot
    punctuation under either the fullwidth closing punctuation category or the
    fullwidth middle dot punctuation category as appropriate. The UA may rely
-   on language conventions and the layout orientation (horizontal vs.
-   vertical), and/or font information to determine this categorization. The
-   UA may also add additional characters to any category as appropriate.
+   on language conventions and the writing mode (horizontal vs. vertical),
+   and/or font information to determine this categorization. The UA may also
+   add additional characters to any category as appropriate.
 
   <div class=note>
    <p>The following informative table summarizes language conventions for
@@ -3938,30 +3993,6 @@
     standard convention is often not followed.</p>
   </div>
 
-  <p>This property is additive with the &lsquo;<a href="#word-spacing0"><code
-   class=property>word-spacing</code></a>&rsquo; and &lsquo;<a
-   href="#letter-spacing0"><code
-   class=property>letter-spacing</code></a>&rsquo; properties. That is, the
-   amount of spacing contributed by the &lsquo;<a
-   href="#letter-spacing0"><code
-   class=property>letter-spacing</code></a>&rsquo; setting (if any) is added
-   to the spacing created by &lsquo;<a href="#text-spacing"><code
-   class=property>text-spacing</code></a>&rsquo;. The same applies to
-   &lsquo;<a href="#word-spacing0"><code
-   class=property>word-spacing</code></a>&rsquo;.
-
-  <p>At element boundaries, the amount of extra spacing introduced between
-   characters is determined by and rendered within the innermost element that
-   contains the boundary. If the extra spacing is applied to a particular
-   glyph, then the spacing is determined by the innermost element containing
-   that glyph.
-
-  <p>Support for this property is <em>optional</em>. It is strongly
-   recommended for UAs that wish to support CJK typography.
-
-  <p class=issue>It was requested to add a value for doubling the space after
-   periods.
-
   <h2 id=edge-effects><span class=secno>10. </span> Edge Effects</h2>
 
   <p>Edge effects control the indentation of lines with respect to other
@@ -4202,7 +4233,7 @@
 
    <dd>A stop or comma at the end of a line hangs.
 
-   <dt><dfn id=allow-end
+   <dt><dfn id=allow-end0
     title="hanging-punctuation:allow-end"><code>allow-end</code></dfn>
 
    <dd>A stop or comma at the end of a line hangs if it does not otherwise
@@ -6477,7 +6508,7 @@
          <td><a class=property href="#text-spacing">text-spacing</a>
 
          <td>normal | none | trim-start || [ trim-end | space-end ] ||
-          space-adjacent || no-justify || ideograph-alpha ||
+          space-adjacent || no-compress || ideograph-alpha ||
           ideograph-numeric || punctuation
 
          <td>normal
@@ -6669,22 +6700,22 @@
 
        <li>fullwidth closing punctuation, <a
         href="#fullwidth-closing-punctuation0" title="fullwidth closing
-        punctuation"><strong>9.3.</strong></a>
+        punctuation"><strong>9.3.2.</strong></a>
 
        <li>fullwidth colon punctuation, <a
         href="#fullwidth-colon-punctuation0" title="fullwidth colon
-        punctuation"><strong>9.3.</strong></a>
+        punctuation"><strong>9.3.2.</strong></a>
 
        <li>fullwidth dot punctuation, <a href="#fullwidth-dot-punctuation0"
-        title="fullwidth dot punctuation"><strong>9.3.</strong></a>
+        title="fullwidth dot punctuation"><strong>9.3.2.</strong></a>
 
        <li>fullwidth middle dot punctuation, <a
         href="#fullwidth-middle-dot-punctuation0" title="fullwidth middle dot
-        punctuation"><strong>9.3.</strong></a>
+        punctuation"><strong>9.3.2.</strong></a>
 
        <li>fullwidth opening punctuation, <a
         href="#fullwidth-opening-punctuation0" title="fullwidth opening
-        punctuation"><strong>9.3.</strong></a>
+        punctuation"><strong>9.3.2.</strong></a>
 
        <li>grapheme cluster, <a href="#grapheme-cluster0" title="grapheme
         cluster"><strong>1.</strong></a>
@@ -6695,7 +6726,7 @@
        <li>hanging-punctuation, <a href="#hanging-punctuation0"
         title=hanging-punctuation><strong>10.2.</strong></a>
 
-       <li>hanging-punctuation:allow-end, <a href="#allow-end"
+       <li>hanging-punctuation:allow-end, <a href="#allow-end0"
         title="hanging-punctuation:allow-end"><strong>10.2.</strong></a>
 
        <li>hanging-punctuation:first, <a href="#first"
@@ -6728,8 +6759,8 @@
        <li>hyphens, <a href="#hyphens0"
         title=hyphens><strong>6.1.</strong></a>
 
-       <li>Ideographic letters, <a href="#ideographic-letters"
-        title="Ideographic letters"><strong>9.3.</strong></a>
+       <li>Ideographs, <a href="#ideographs"
+        title=Ideographs><strong>9.3.2.</strong></a>
 
        <li>letter-spacing, <a href="#letter-spacing0"
         title=letter-spacing><strong>9.2.</strong></a>
@@ -6756,10 +6787,10 @@
         title="''none''"><strong>6.5.</strong></a>
 
        <li>Non-ideographic letters, <a href="#non-ideographic-letters"
-        title="Non-ideographic letters"><strong>9.3.</strong></a>
+        title="Non-ideographic letters"><strong>9.3.2.</strong></a>
 
        <li>Non-ideographic numerals, <a href="#non-ideographic-numerals"
-        title="Non-ideographic numerals"><strong>9.3.</strong></a>
+        title="Non-ideographic numerals"><strong>9.3.2.</strong></a>
 
        <li>overline, <a href="#overline"
         title=overline><strong>11.1.1.</strong></a>
@@ -6953,14 +6984,17 @@
        <li>text-spacing, <a href="#text-spacing"
         title=text-spacing><strong>9.3.</strong></a>
 
+       <li>text-spacing:allow-end, <a href="#allow-end"
+        title="text-spacing:allow-end"><strong>9.3.</strong></a>
+
        <li>text-spacing:ideograph-alpha, <a href="#ideograph-alpha"
         title="text-spacing:ideograph-alpha"><strong>9.3.</strong></a>
 
        <li>text-spacing:ideograph-numeric, <a href="#ideograph-numeric"
         title="text-spacing:ideograph-numeric"><strong>9.3.</strong></a>
 
-       <li>text-spacing:no-justify, <a href="#no-justify"
-        title="text-spacing:no-justify"><strong>9.3.</strong></a>
+       <li>text-spacing:no-compress, <a href="#no-compress"
+        title="text-spacing:no-compress"><strong>9.3.</strong></a>
 
        <li>text-spacing:none, <a href="#none3"
         title="text-spacing:none"><strong>9.3.</strong></a>
@@ -6977,6 +7011,12 @@
        <li>text-spacing:space-end, <a href="#space-end"
         title="text-spacing:space-end"><strong>9.3.</strong></a>
 
+       <li>text-spacing:space-start, <a href="#space-start"
+        title="text-spacing:space-start"><strong>9.3.</strong></a>
+
+       <li>text-spacing:trim-adjacent, <a href="#trim-adjacent"
+        title="text-spacing:trim-adjacent"><strong>9.3.</strong></a>
+
        <li>text-spacing:trim-end, <a href="#trim-end"
         title="text-spacing:trim-end"><strong>9.3.</strong></a>
 

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-text/Overview.src.html,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -d -r1.215 -r1.216
--- Overview.src.html	25 Apr 2011 04:37:55 -0000	1.215
+++ Overview.src.html	27 Apr 2011 01:04:53 -0000	1.216
@@ -2339,7 +2339,7 @@
       <p>3.8 Line Adjustment in [[JLREQ]] gives an example of a set of rules for
         how a text formatter can justify Japanese text.
         It describes rules for cases where the 'text-justify' property is ''inter-ideograph''
-        and the 'text-spacing' property does not specify ''no-justify''.</p>
+        and the 'text-spacing' property does not specify ''no-compress''.</p>
       <p>It produces an effect similar to cases where
         the computed value of 'text-spacing' property does not specify
         ''trim-end'' or ''space-end''.
@@ -2617,7 +2617,7 @@
               trim-start ||
               [ trim-end | space-end ] ||
               space-adjacent ||
-              no-justify ||
+              no-compress ||
               ideograph-alpha ||
               ideograph-numeric ||
               punctuation
@@ -2655,74 +2655,63 @@
       character-class-based rules.
       Such spacing can either be created between or trimmed from the
       affected glyphs.
-      Values other than ''normal'' and ''none'' modify (override)
-      the baseline behavior defined for ''normal''.
       Values are defined as follows:</p>
 
     <dl>
       <dt><dfn title="text-spacing:normal">normal</dfn></dt>
-        <dd>Specifies the baseline behavior (defined below).
-          <!-- Equivalent to ''space-start allow-end justify'' -->
+        <dd>Specifies the baseline behavior, equivalent to
+          ''space-start allow-end trim-adjacent''.
       <dt><dfn title="text-spacing:none">none</dfn><dt>
         <dd>Turns off all text-spacing features. All fullwidth characters
-          are set at full width.
-          <span class="issue">Should this value include ''no-justify'' behavior?</span>
-      <dt><dfn title="text-spacing:trim-start">trim-start</dfn></dt>
-        <dd>Set fullwidth opening punctuation flush at the start of each
-          line. The UA must trim the blank half of fullwidth punctuation
-          glyphs if necessary.
-      <!--
-      <dt><dfn title="text-spacing:space-start">space-start</dfn></dt>
-        <dd>Set fullwidth opening punctuation at full width at the start
-          of each line. The UA must blank space to fullwidth
-          punctuation glyphs if they are not already full width.
-      -->
-      <!--
-      <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt>
-        <dd>Set fullwidth closing punctuation flush at the end of each
-          line if it does not otherwise fit prior to justification.
-          The UA must trim the blank half of fullwidth punctuation
-          glyphs if necessary.
-      -->
-      <dt><dfn title="text-spacing:trim-end">trim-end</dfn></dt>
-        <dd>Set fullwidth closing punctuation flush at the end of each
-          line. The UA must trim the blank half of fullwidth punctuation
-          glyphs if necessary.</dd>
-      <dt><dfn title="text-spacing:space-end">space-end</dfn></dt>
-        <dd>Set fullwidth opening punctuation at full width at the start
-          of each line. The UA must add blank space to fullwidth
-          punctuation glyphs if they are not already full width.</dd>
-      <dt><dfn title="text-spacing:space-adjacent">space-adjacent</dfn></dt>
-        <dd>Set fullwidth opening punctuation at full width when not at the
-          start of the line. Set fullwidth closing punctuation at full width
-          when not at the end of the line. The UA must add blank space to
-          such fullwidth punctuation glyphs if they are not already full
-          width.
+          are set with full spacing.
       <dt><dfn title="text-spacing:ideograph-alpha">ideograph-alpha</dfn></dt>
-        <dd>Creates 1/4em extra spacing between runs of ideographic letters and
-          non-ideographic letters, such as Latin-based, Cyrillic, Greek,
-          Arabic or Hebrew.
+        <dd>Creates 1/4em extra spacing between runs of <i>ideographs</i> and
+          <i>non-ideographic letters</i>.
           <span class="note">A commonly used algorithm for determining this
             behavior is specified in [[JLREQ]]</span>
         </dd>
       <dt><dfn title="text-spacing:ideograph-numeric">ideograph-numeric</dfn></dt>
-        <dd>Creates 1/4em extra spacing between runs of ideographic letters and
-          non-ideographic numeric glyphs.
+        <dd>Creates 1/4em extra spacing between runs of <i>ideographs</i> and
+          <i>non-ideographic</i> numeric glyphs.
           <span class="note">A commonly used algorithm for determining this
             behavior is specified in [[JLREQ]]</span>
         </dd>
       <dt><dfn title="text-spacing:punctuation">punctuation</dfn>
         <dd>Creates extra non-breaking spacing around punctuation as required by
-          language-specific typographic conventions. In CSS3, if the
+          language-specific typographic conventions. In this level, if the
           element's content language is French, narrow no-break space (U+202F)
           and no-break space (U+00A0) is be inserted where required by
           <a href="http://unicode.org/udhr/n/notes_fra.html">French typographic
           guidelines</a>.
           Otherwise this value has no effect. However future specifications
           may add automatic spacing behavior for other languages.
-      <dt><dfn title="text-spacing:no-justify">no-justify</dfn></dt>
-        <dd>Justification may not alter text-spacing. (If this value is not
-           specified, the justification process may alter autospacing except
+      <dt><dfn title="text-spacing:space-start">space-start</dfn></dt>
+        <dd>Set <i>fullwidth opening punctuation</i> fully spaced at the start
+          of each line.
+      <dt><dfn title="text-spacing:trim-start">trim-start</dfn></dt>
+        <dd>Set <i>fullwidth opening punctuation</i> flush (trim) at the start
+          of each line.
+      <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt>
+        <dd>Set <i>fullwidth closing punctuation</i> flush (trim) at the end
+          of each line if it does not otherwise fit prior to justification,
+          otherwise sets the punctuation with full spacing.
+      <dt><dfn title="text-spacing:space-end">space-end</dfn></dt>
+        <dd>Set <i>fullwidth opening punctuation</i> fully spaced at the start
+          of each line.</dd>
+      <dt><dfn title="text-spacing:trim-end">trim-end</dfn></dt>
+        <dd>Set <i>fullwidth closing punctuation</i> flush (trim) at the end
+          of each line.</dd>
+      <dt><dfn title="text-spacing:space-adjacent">space-adjacent</dfn></dt>
+        <dd>Set <i>fullwidth opening punctuation</i> fully spaced when not at
+          the start of the line.
+          Set <i>fullwidth closing punctuation</i> fully spaced when not at
+          the end of the line.
+      <dt><dfn title="text-spacing:trim-adjacent">trim-adjacent</dfn></dt>
+        <dd>Collapse spacing between fullwidth punctuation glyphs
+          <a href="#fullwidth-collapsing">as described below</a>.
+      <dt><dfn title="text-spacing:no-compress">no-compress</dfn></dt>
+        <dd>Justification may not compress text-spacing. (If this value is not
+           specified, the justification process may reduce autospacing except
            when the spacing is at the start or end of the line.)
         <span class="note">
           An example of compression rules is given for Japanese in
@@ -2730,102 +2719,78 @@
         </dd>
     </dl>
 
-    <p>In the baseline behavior the UA must:
-    <ul>
-      <li>Set fullwidth opening punctuation at full width at the start
-        of each line. (This can require adding space to punctuation glyphs.)
-        This behavior is overridden when ''trim-start'' is specified.
-      <li>Set fullwidth closing punctuation flush at the end of each
-        line if it does not otherwise fit prior to justification.
-        (This can require trimming the blank half of fullwidth punctuation
-        glyphs.)
-        This behavior is overridden when ''trim-end'' or ''space-end''
-        is specified.
-      <li>Set fullwidth opening punctuation at half width if the previous
+    <p>This property is additive with the 'word-spacing' and 'letter-spacing'
+      properties. That is, the amount of spacing contributed by the
+      'letter-spacing' setting (if any) is added to the spacing created by
+      'text-spacing'. The same applies to 'word-spacing'.
+
+    <p>At element boundaries, the amount of extra spacing introduced
+      between characters is determined by and rendered within the innermost
+      element that contains the boundary. If the extra spacing is applied
+      to a particular glyph, then the spacing is determined by the innermost
+      element containing that glyph.
+
+    <p>Support for this property is <em>optional</em>. It is strongly
+      recommended for UAs that wish to support CJK typography.</p>
+
+    <p class="issue">It was requested to add a value for doubling the space after
+      periods.</p>
+
+
+<h4 id="fullwidth-collapsing">
+Fullwidth Punctuation Collapsing</h4>
+
+    <p>Typically fullwidth characters have glyphs with the same advance width
+      as a standard Han character (e.g. 水 U+6C34). However, many fullwidth
+      punctuation glyphs only take up part of the fullwidth design space.
+      Thus  such punctuation are not always set fullwidth. Several values of
+      'text-spacing' allow the author to control when such characters are
+      set trim (at their glyph's width, typically half the width of an
+      ideograph) and when they are set fully spaced.
+
+    <p>In order to set the text as specified, the UA may need to either
+      <ul>
+        <li>trim (kern) the blank half of the glyphs if they are fully spaced
+          and must be set trim, or
+        <li>add space to the glyphs if they are trim must be set fully spaced
+      </ul>
+
+    <p>Some fonts (e.g. MS PMincho) use proportional glyphs for fullwidth
+      punctuation characters. In such cases, the UA should not apply text
+      spacing rules to these glyphs, and instead always set them at their
+      natural width.
+
+    <p class="note">The advance width of a standard Han character can be
+      determined either from font metrics such as the OpenType <code>ideo</code>
+      and <code>idtp</code> baselines for the opposite writing mode, or
+      by taking the advance width of a Han character such as 水 U+6C34.
+      (The opposite writing mode must be used because some fonts are compressed
+      so that the characters are not square.) More information on OpenType
+      metrics can be found <a href="http://www.microsoft.com/typography/otspec/baselinetags.htm#ideoembox">in
+      the OpenType spec</a>.
+    </p>
+
+    <p class="note">If 水 U+6C34, 卜 U+535C, and 一 U+4E00 do not all have
+      the same advance width, the font has proportional ideographs and the
+      fullwidth advance width cannot be reliably determined by measuring
+      glyphs.
+
+    <p>Unless 'text-spacing' is set to ''space-adjacent'' or ''none'' (or the
+      font has proportional fullwidth punctuation glyphs), the UA
+      must collapse the space typically associated with such full width
+      glyphs as follows:
+      <li>Set fullwidth opening punctuation trim if the previous
         character is a fullwidth opening punctuation, fullwidth middle dot
-        punctuation, fullwidth closing punctuation, or ideographic space
-        (U+3000). Else set it at full width.
-        This behavior is overridden when ''space-adjacent'' is specified.
-      <li>Set fullwidth closing punctuation at half width if the next
+        punctuation, or ideographic space (U+3000). Else set it fully spaced.
+      <li>Set fullwidth closing punctuation trim if the next
         character is a fullwidth closing punctuation, fullwidth middle dot
         punctuation, or ideographic space (U+3000). Else set it at full
         width.
-        This behavior is overridden when ''space-adjacent'' is specified.
-    </ul>
-
-    <p>A fullwidth glyph is one that has the same advance width as a
-      typical Han character in the same font. Typically fullwidth characters
-      have fullwidth glyphs, but depending on the font system, text-spacing
-      may require either:
-    <ul>
-      <li>trimming (kerning) the blank half of fullwidth glyphs if they
-        must be set flush / at half width, or
-      <li>adding space (typically 1/2em) to half-width glyphs if they
-        must be set at full width.
+      <li>Set fullwidth closing puntuation followed by fullwidth opening
+        punctuation each "half-spaced", i.e. halfway between trim and fully
+        spaced.
     </ul>
 
-    <p>In the context of this property the following definitions apply:</p>
-    <p class="issue">classes and Unicode code point should be reviewed.</p>
-    <dl>
-      <dt id="fullwidth-opening-punctuation"><dfn>fullwidth opening punctuation</dfn></dt>
-      <dd>Includes any opening punctuation character (Unicode category
-        <code>Ps</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
-        block (U+3000&#8211;U+303F) or is categorized as <i>East Asian
-        Fullwidth (F)</i> by [[!UAX11]]. Also includes
-        LEFT SINGLE QUOTATION MARK (U+2018) and LEFT DOUBLE QUOTATION MARK
-        (U+201C).
-        When trimmed, the left (for horizontal text) or top (for vertical
-        text) half is kerned.</dd>
-      <dt id="fullwidth-closing-punctuation"><dfn>fullwidth closing punctuation</dfn></dt>
-      <dd>Includes any closing punctuation character (Unicode category
-        <code>Pe</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
-        block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
-        (F)</i> by [[!UAX11]]. Also includes RIGHT SINGLE
-        QUOTATION MARK (U+2019) and RIGHT DOUBLE QUOTATION MARK (U+201D). May
-        also include fullwidth colon punctuation and/or fullwidth dot
-        punctuation (see below).
-        When trimmed, the right (for horizontal text) or bottom (for vertical
-        text) half is kerned.</dd>
-      <dt id="fullwidth-middle-dot-punctuation"><dfn>fullwidth middle dot punctuation</dfn></dt>
-      <dd>Includes MIDDLE DOT (U+00B7), HYPHENATION POINT (U+2027), and
-        KATAKANA MIDDLE DOT (U+30FB). May also include fullwidth colon
-        punctuation and/or fullwidth dot punctuation (see below).</dd>
-      <dt id="fullwidth-colon-punctuation"><dfn>fullwidth colon punctuation</dfn></dt>
-      <dd>Includes FULLWIDTH COLON (U+FF1A) and FULLWIDTH SEMICOLON (U+FF1B).</dd>
-      <dt id="fullwidth-dot-punctuation"><dfn>fullwidth dot punctuation</dfn></dt>
-      <dd>Includes IDEOGRAPHIC COMMA (U+3001), IDEOGRAPHIC FULL STOP (U+3002),
-        FULLWIDTH COMMA (U+FF0C), FULLWIDTH FULL STOP (U+FF0E).</dd>
-      <dt><dfn>Ideographic letters</dfn></dt>
-      <dd>Includes all characters listed below:
-        <ul>
-          <li>All characters in the range of U+3041 to U+30FF,
-            except that belongs to Unicode Punctuation [P*] category.</li>
-          <li>CJK Strokes (U+31C0 to U+31EF).</li>
-          <li>Katakana Phonetic Extensions (U+31F0 to U+31FF).</li>
-          <li>All characters that belongs to Han Unicode Script Property [[!UAX24]].</li>
-        </ul>
-      </dd>
-      <dt><dfn>Non-ideographic letters</dfn></dt>
-      <dd>Includes all characters that belongs to Unicode Letters [L*] and
-        Mark [M*] category, except any of the following conditions are met:
-          <ul>
-            <li>Is defined as Ideographic letters.</li>
-            <li>Is categorized as East Asian Fullwidth (F) by [[!UAX11]].</li>
-            <li>Is upright in vertical text flow using the 'text-orientation' property
-              or the 'text-combine' property.</li>
-          </ul>
-      </dd>
-      <dt><dfn>Non-ideographic numerals</dfn></dt>
-      <dd>Includes all characters that belongs to Unicode Number, Decimal Digit
-        [Nd] category, except any of the following conditions are met:
-          <ul>
-            <li>Is categorized as East Asian Fullwidth (F) by [[!UAX11]].</li>
-            <li>Is upright in vertical text flow using the 'text-orientation' property
-              or the 'text-combine' property.</li>
-          </ul>
-      </dd>
-    </dl>
-
     <div class="example">
       <p>The following example table lists the punctuation pairs affected by
         adjancent-pairs trimming. It uses halfwidth equivalents to approximate
@@ -2867,6 +2832,71 @@
       </table>
     </div>
 
+<h4 id="text-spacing-classes">
+Text Spacing Character Classes</h4>
+
+    <p>In the context of this property the following definitions apply:</p>
+    <p class="issue">classes and Unicode code point should be reviewed.</p>
+    <dl>
+      <dt><dfn>Ideographs</dfn></dt>
+      <dd>Includes all characters listed below:
+        <ul>
+          <li>All characters in the range of U+3041 to U+30FF,
+            except that belongs to Unicode Punctuation [P*] category.</li>
+          <li>CJK Strokes (U+31C0 to U+31EF).</li>
+          <li>Katakana Phonetic Extensions (U+31F0 to U+31FF).</li>
+          <li>All characters that belongs to Han Unicode Script Property [[!UAX24]].</li>
+        </ul>
+      </dd>
+      <dt><dfn>Non-ideographic letters</dfn></dt>
+      <dd>Includes all characters that belongs to Unicode Letters [L*] and
+        Mark [M*] category, except any of the following conditions are met:
+          <ul>
+            <li>Is defined as Ideographic letters.</li>
+            <li>Is categorized as East Asian Fullwidth (F) by [[!UAX11]].</li>
+            <li>Is upright in vertical text flow using the 'text-orientation' property
+              or the 'text-combine' property.</li>
+          </ul>
+      </dd>
+      <dt><dfn>Non-ideographic numerals</dfn></dt>
+      <dd>Includes all characters that belongs to Unicode Number, Decimal Digit
+        [Nd] category, except any of the following conditions are met:
+          <ul>
+            <li>Is categorized as East Asian Fullwidth (F) by [[!UAX11]].</li>
+            <li>Is upright in vertical text flow using the 'text-orientation' property
+              or the 'text-combine' property.</li>
+          </ul>
+      </dd>
+      <dt id="fullwidth-opening-punctuation"><dfn>fullwidth opening punctuation</dfn></dt>
+      <dd>Includes any opening punctuation character (Unicode category
+        <code>Ps</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
+        block (U+3000&#8211;U+303F) or is categorized as <i>East Asian
+        Fullwidth (F)</i> by [[!UAX11]]. Also includes
+        LEFT SINGLE QUOTATION MARK (U+2018) and LEFT DOUBLE QUOTATION MARK
+        (U+201C).
+        When trimmed, the left (for horizontal text) or top (for vertical
+        text) half is kerned.</dd>
+      <dt id="fullwidth-closing-punctuation"><dfn>fullwidth closing punctuation</dfn></dt>
+      <dd>Includes any closing punctuation character (Unicode category
+        <code>Pe</code>) that belongs to the <i>CJK Symbols and Punctuation</i>
+        block (U+3000&#8211;U+303F) or is categorized as <i>East Asian Fullwidth
+        (F)</i> by [[!UAX11]]. Also includes RIGHT SINGLE
+        QUOTATION MARK (U+2019) and RIGHT DOUBLE QUOTATION MARK (U+201D). May
+        also include fullwidth colon punctuation and/or fullwidth dot
+        punctuation (see below).
+        When trimmed, the right (for horizontal text) or bottom (for vertical
+        text) half is kerned.</dd>
+      <dt id="fullwidth-middle-dot-punctuation"><dfn>fullwidth middle dot punctuation</dfn></dt>
+      <dd>Includes MIDDLE DOT (U+00B7), HYPHENATION POINT (U+2027), and
+        KATAKANA MIDDLE DOT (U+30FB). May also include fullwidth colon
+        punctuation and/or fullwidth dot punctuation (see below).</dd>
+      <dt id="fullwidth-colon-punctuation"><dfn>fullwidth colon punctuation</dfn></dt>
+      <dd>Includes FULLWIDTH COLON (U+FF1A) and FULLWIDTH SEMICOLON (U+FF1B).</dd>
+      <dt id="fullwidth-dot-punctuation"><dfn>fullwidth dot punctuation</dfn></dt>
+      <dd>Includes IDEOGRAPHIC COMMA (U+3001), IDEOGRAPHIC FULL STOP (U+3002),
+        FULLWIDTH COMMA (U+FF0C), FULLWIDTH FULL STOP (U+FF0E).</dd>
+    </dl>
+
     <p>Whether fullwidth colon punctuation and fullwidth dot punctuation should
       be considered fullwidth closing punctuation or fullwidth middle dot
       punctuation depends on where in the glyph's box the punctuation is drawn.
@@ -2879,7 +2909,7 @@
     <p>The UA must classify fullwidth colon punctuation and fullwidth dot
       punctuation under either the fullwidth closing punctuation category or
       the fullwidth middle dot punctuation category as appropriate. The UA
-      may rely on language conventions and the layout orientation (horizontal
+      may rely on language conventions and the writing mode (horizontal
       vs. vertical), and/or font information to determine this categorization.
       The UA may also add additional characters to any category as appropriate.</p>
 
@@ -2904,23 +2934,6 @@
         standard convention is often not followed.</p>
     </div>
 
-    <p>This property is additive with the 'word-spacing' and 'letter-spacing'
-      properties. That is, the amount of spacing contributed by the
-      'letter-spacing' setting (if any) is added to the spacing created by
-      'text-spacing'. The same applies to 'word-spacing'.
-
-    <p>At element boundaries, the amount of extra spacing introduced
-      between characters is determined by and rendered within the innermost
-      element that contains the boundary. If the extra spacing is applied
-      to a particular glyph, then the spacing is determined by the innermost
-      element containing that glyph.
-
-    <p>Support for this property is <em>optional</em>. It is strongly
-      recommended for UAs that wish to support CJK typography.</p>
-
-    <p class="issue">It was requested to add a value for doubling the space after
-      periods.</p>
-
 <h2 id="edge-effects">
   Edge Effects</h2>
 

Received on Wednesday, 27 April 2011 01:04:59 UTC