- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 20 Apr 2011 00:49:25 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-text In directory hutz:/tmp/cvs-serv3111 Modified Files: Overview.html Overview.src.html Log Message: Rewrite prose for 'text-spacing' to be agnostic wrt adding space or removing space. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.html,v retrieving revision 1.112 retrieving revision 1.113 diff -u -d -r1.112 -r1.113 --- Overview.html 19 Apr 2011 18:25:14 -0000 1.112 +++ Overview.html 20 Apr 2011 00:49:20 -0000 1.113 @@ -83,14 +83,14 @@ <h1>CSS Text Level 3</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 19 April 2011</h2> + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 April 2011</h2> <dl> <dt>This version: <dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date: - 2011/04/19 17:16:46 $ (CVS $Revision$)</a> <!-- - <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110419/">http://www.w3.org/TR/2011/WD-css3-text-20110419/</a></dd> + 2011/04/19 18:25:14 $ (CVS $Revision$)</a> <!-- + <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110420/">http://www.w3.org/TR/2011/WD-css3-text-20110420/</a></dd> --> @@ -3573,88 +3573,120 @@ <td>specified value </table> - <p>This property determines spacing between two characters classes. The - spacing may either be created or trimmed. Values are defined as follows: + <p>This property controls spacing between adjacent characters 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 are defined as follows: <dl> <dt><dfn id=normal5 title="text-spacing:normal">normal</dfn> - <dd>Trim (kern) the blank half of fullwidth closing punctuation at the end - of each line if it does not otherwise fit prior to justification.</dd> - <!-- - <dd>Equivalent to ‘<code class=css>space-start allow-end justify</code>’.</dd> - --> + <dd>Specifies the baseline behavior (defined below). + <!-- Equivalent to ''space-start allow-end justify'' --> <dt><dfn id=trim-start title="text-spacing:trim-start">trim-start</dfn> - <dd>Trim (kern) the blank half of fullwidth opening punctuation at the - beginning of each line.</dd> - <!-- + <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>Do not trim the blank half of fullwidth opening punctuation at - the beginning of each line.</dd> + <dd>Set fullwidth opening punctuation at full width at the start + of each line. The UA must blank space to fullwidth + punctuation if they are not already full width. --> - <!-- + <!-- <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt> - <dd>Trim (kern) the blank half of fullwidth closing punctuation at - the end of each line if it does not otherwise fit prior to - justification.</dd> + <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>Trim (kern) the blank half of fullwidth closing punctuation at the end - of each line. - - <dt><dfn id=space-end title="text-spacing:keep-end">space-end</dfn> - - <dd>Do not trim the blank half of fullwidth closing punctuation at the end - of each line. + <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=no-justify title="text-spacing:no-justify">no-justify</dfn> + <dt><dfn id=space-end title="text-spacing:space-end">space-end</dfn> - <dd>The blank portions of fullwidth punctuation must not be trimmed during - the justification process. (If this value is not specified, the - justification process may trim the blank portions of fullwidth - punctuation glyphs.) <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> + <dd>Set fullwidth opening punctuation at full width at the start of each + line. The UA must add blank space to fullwidth punctuation if they are + not already full width. <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" + Hebrew. Unless ‘<code class=css>no-justify</code>’ is also + specified, this autospacing may be altered by the justification process. + <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" - rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a></span> + non-ideographic numeric glyphs. Unless ‘<code + class=css>no-justify</code>’ is also specified, this autospacing + may be altered by the justification process. <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. For example, if the element's + 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) should be inserted where required by <a + space (U+00A0) is be inserted where required by <a href="http://unicode.org/udhr/n/notes_fra.html">French typographic - guidelines</a>. + 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.) <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 all cases, the UA must trim (kern) the blank half of fullwidth - opening punctuation if its previous adjacent character is a fullwidth - opening punctuation, fullwidth middle dot punctuation, fullwidth closing - punctuation, or ideographic space (U+3000). It must also trim (kern) the - blank half of fullwidth closing punctuation if its next adjacent character - is a fullwidth closing punctuation, fullwidth middle dot punctuation, or - ideographic space (U+3000). + <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 can be overridden by specifying ‘<code + class=css>trim-start</code>’. + + <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 can be + overridden by specifying ‘<code class=css>space-end</code>’ + or ‘<code class=css>trim-end</code>’. + + <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 and, unless ‘<code + class=css>no-justify</code>’ is specified, allow justification to + alter this spacing. + + <li>Set fullwidth closing punctuation at half width if the previous + character is a fullwidth closing punctuation, fullwidth middle dot + punctuation, or ideographic space (U+3000). Else set it at full width + and, unless ‘<code class=css>no-justify</code>’ is specified, + allow justification to alter this spacing. + </ul> + + <p>Depending on the font system, text-spacing may require either trimming + (kerning) the blank half of fullwidth punctuation glyphs (if they must be + set flush / at half width), or adding 1/2em of space to the glyphs (if + they must be set at full width). When set at full width <div class=example> <p>The following example table lists the punctuation pairs affected by @@ -3815,11 +3847,10 @@ </ul> </dl> - <p>Fullwidth opening and closing punctuation must not be trimmed if the - glyph is not actually fullwidth. This includes the case where the glyph is - not fullwidth as a result of the kerning in the font. A fullwidth glyph is - one that has the same advance width as a typical Han character in the same - font. + <p>Fullwidth punctuation must not be trimmed if the glyph is not actually + fullwidth. This includes the case where the glyph is not fullwidth as a + result of the kerning in the font. A fullwidth glyph is one that has the + same advance width as a typical Han character in the same font. <p>Whether fullwidth colon punctuation and fullwidth dot punctuation should be considered fullwidth closing punctuation or fullwidth middle dot @@ -3891,10 +3922,6 @@ standard convention is often not followed.</p> </div> - <p>When creating extra spacing, the added width does not correspond to the - insertion of additional space characters, but instead to the width - increment of existing glyphs. - <p>This property is additive with the ‘<a href="#word-spacing0"><code class=property>word-spacing</code></a>’ and ‘<a href="#letter-spacing0"><code @@ -3907,11 +3934,11 @@ ‘<a href="#word-spacing0"><code class=property>word-spacing</code></a>’. - <p>This property applies only to the same inline element context, and can - apply across elements if in the same inline element context. - - <p>At element boundaries, the font size of the extra spacing is given by - and rendered within the innermost element that contains the boundary. + <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. @@ -6915,9 +6942,6 @@ <li>text-spacing:ideograph-numeric, <a href="#ideograph-numeric" title="text-spacing:ideograph-numeric"><strong>9.3.</strong></a> - <li>text-spacing:keep-end, <a href="#space-end" - title="text-spacing:keep-end"><strong>9.3.</strong></a> - <li>text-spacing:no-justify, <a href="#no-justify" title="text-spacing:no-justify"><strong>9.3.</strong></a> @@ -6927,6 +6951,9 @@ <li>text-spacing:punctuation, <a href="#punctuation" title="text-spacing:punctuation"><strong>9.3.</strong></a> + <li>text-spacing:space-end, <a href="#space-end" + title="text-spacing:space-end"><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.210 retrieving revision 1.211 diff -u -d -r1.210 -r1.211 --- Overview.src.html 19 Apr 2011 18:25:14 -0000 1.210 +++ Overview.src.html 20 Apr 2011 00:49:23 -0000 1.211 @@ -2650,76 +2650,104 @@ </tbody> </table> - <p>This property determines spacing between two characters classes. - The spacing may either be created or trimmed. + <p>This property controls spacing between adjacent characters + 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 are defined as follows:</p> <dl> <dt><dfn title="text-spacing:normal">normal</dfn></dt> - <dd>Trim (kern) the blank half of fullwidth closing punctuation at - the end of each line if it does not otherwise fit prior to - justification.</dd> - <!-- - <dd>Equivalent to ''space-start allow-end justify''.</dd> - --> + <dd>Specifies the baseline behavior (defined below). + <!-- Equivalent to ''space-start allow-end justify'' --> <dt><dfn title="text-spacing:trim-start">trim-start</dfn></dt> - <dd>Trim (kern) the blank half of fullwidth opening punctuation at - the beginning of each line. </dd> + <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>Do not trim the blank half of fullwidth opening punctuation at - the beginning of each line.</dd> + <dd>Set fullwidth opening punctuation at full width at the start + of each line. The UA must blank space to fullwidth + punctuation if they are not already full width. --> <!-- <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt> - <dd>Trim (kern) the blank half of fullwidth closing punctuation at - the end of each line if it does not otherwise fit prior to - justification.</dd> + <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>Trim (kern) the blank half of fullwidth closing punctuation at - the end of each line.</dd> - <dt><dfn title="text-spacing:keep-end">space-end</dfn></dt> - <dd>Do not trim the blank half of fullwidth closing punctuation at - the end of each line. </dd> - <dt><dfn title="text-spacing:no-justify">no-justify</dfn></dt> - <dd>The blank portions of fullwidth punctuation must not be trimmed - during the justification process. (If this value is not specified, - the justification process may trim the blank portions of fullwidth - punctuation glyphs.) - <span class="note"> - An example of compression rules is given for Japanese in - 3.8 Line Adjustment in [[JLREQ]].</span> - </dd> + <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 if they are not already full width.</dd> <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. + non-ideographic letters, such as Latin-based, Cyrillic, Greek, + Arabic or Hebrew. + Unless ''no-justify'' is also specified, this autospacing may + be altered by the justification process. <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. + Unless ''no-justify'' is also specified, this autospacing may + be altered by the justification process. <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. For example, if the + 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) should be inserted where required by + 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.) + <span class="note"> + An example of compression rules is given for Japanese in + 3.8 Line Adjustment in [[JLREQ]].</span> + </dd> </dl> - <p>In all cases, the UA must trim (kern) the blank half of fullwidth - opening punctuation if its previous adjacent character is a - fullwidth opening punctuation, fullwidth middle dot punctuation, - fullwidth closing punctuation, or ideographic space (U+3000). - It must also trim (kern) the blank half of fullwidth closing - punctuation if its next adjacent character is a fullwidth closing - punctuation, fullwidth middle dot punctuation, or ideographic - space (U+3000).</p> + <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 can be overridden by specifying ''trim-start''. + <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 can be overridden by specifying ''space-end'' + or ''trim-end''. + <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 and, unless ''no-justify'' is + specified, allow justification to alter this spacing. + <li>Set fullwidth closing punctuation at half width if the previous + character is a fullwidth closing punctuation, fullwidth middle dot + punctuation, or ideographic space (U+3000). Else set it at full + width and, unless ''no-justify'' is specified, allow justification + to alter this spacing. + </ul> + + <p>Depending on the font system, text-spacing may require either + trimming (kerning) the blank half of fullwidth punctuation glyphs + (if they must be set flush / at half width), or adding 1/2em of + space to the glyphs (if they must be set at full width). When set + at full width</p> <div class="example"> <p>The following example table lists the punctuation pairs affected by @@ -2824,12 +2852,10 @@ </dd> </dl> - <p>Fullwidth opening and closing punctuation must not be trimmed if the - glyph is not actually fullwidth. - This includes the case where the glyph is not fullwidth - as a result of the kerning in the font. - A fullwidth glyph is one that has the - same advance width as a typical Han character in the same font.</p> + <p>Fullwidth punctuation must not be trimmed if the glyph is not actually + fullwidth. This includes the case where the glyph is not fullwidth + as a result of the kerning in the font. A fullwidth glyph is one that + has the same advance width as a typical Han character in the same font.</p> <p>Whether fullwidth colon punctuation and fullwidth dot punctuation should be considered fullwidth closing punctuation or fullwidth middle dot @@ -2868,20 +2894,16 @@ standard convention is often not followed.</p> </div> - <p>When creating extra spacing, the added width does not correspond to - the insertion of additional space characters, but instead to the width - increment of existing glyphs.</p> - <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>This property applies only to the same inline element context, - and can apply across elements if in the same inline element context.</p> - - <p>At element boundaries, the font size of the extra spacing - is given by and rendered within the innermost element that contains the boundary.</p> + <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>
Received on Wednesday, 20 April 2011 00:49:28 UTC