- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 30 Mar 2011 03:24:36 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-text In directory hutz:/tmp/cvs-serv19559 Modified Files: Overview.html Overview.src.html Log Message: white space mostly-editorial revising Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.html,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- Overview.html 30 Mar 2011 00:38:47 -0000 1.85 +++ Overview.html 30 Mar 2011 03:24:34 -0000 1.86 @@ -89,7 +89,7 @@ <dt>This version: <dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date: - 2011/03/30 00:22:00 $ (CVS $Revision$)</a> <!-- + 2011/03/30 00:37:40 $ (CVS $Revision$)</a> <!-- <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110330/">http://www.w3.org/TR/2011/WD-css3-text-20110330/</a></dd> --> @@ -199,7 +199,7 @@ directly</a> (personal). <p>The following features are at risk and may be cut from the spec during - its CR period: + its CR period if there are no (correct) implementations: <ul> <li>the ‘<a href="#hanging-punctuation0"><code @@ -208,6 +208,11 @@ <li>the ‘<code class=css>all</code>’ value of the ‘<a href="#hyphens0"><code class=property>hyphens</code></a>’ property + <li>the percentage values of ‘<a href="#letter-spacing0"><code + class=property>letter-spacing</code></a>’ and ‘<a + href="#word-spacing0"><code class=property>word-spacing</code></a>’ + + <li>the ‘<code class=css>hyphenate-limit-*</code>’ properties <li>the ‘<a href="#hyphenate-resource"><code @@ -266,7 +271,7 @@ Example of bidirectionality with white space collapsing</a> <li><a href="#line-break-transform"><span class=secno>4.3.2. </span> - Line Break Transformation Rules</a> + Line Feed Transformation Rules</a> <li><a href="#white-space-summary"><span class=secno>4.3.3. </span> Informative Summary of White Space Collapsing Effects</a> @@ -759,21 +764,18 @@ allows the author to control interpretation of such formatting: to preserve or collapse it away when rendering the document. - <p>White space processing in CSS interprets white space characters for - rendering: it has no effect on the underlying document data. - - <p>In the context of CSS, the document white space set is defined to be any - space characters (Unicode value U+0020), tab characters (U+0009), and line - feeds (U+000A). + <p id=segment-normalization> In the document source, segments can be + delimited by carriage returns (U+000D), linefeeds (U+000A) or a + combination (U+000D U+000A), or by some other mechanism, such as the SGML + RECORD-START and RECORD-END tokens. If no segmentation rules are specified + for the document language, each line feed (U+000A), carriage return + (U+000D) and CRLF sequence (U+000D U+000A) in the text is considered a + segment break. (This default rule also applies to generated content.) In + CSS, each such segment break is treated as a single line feed character + (U+000A). - <p>However in the document source, segments can be delimited by carriage - returns (U+000D), linefeeds (U+000A) or a combination (U+000D U+000A), or - by some other mechanism, such as the SGML RECORD-START and RECORD-END - tokens. In CSS, each such segment break is treated as a single line feed - character (U+000A). If no segmentation rules are specified for the - document language, each line feed (U+000A), carriage return (U+000D) and - CRLF sequence (U+000D U+000A) in the text is considered a segment break. - (This default rule also applies to generated content.) + <p>White space processing in CSS interprets white space characters only for + rendering: it has no effect on the underlying document data. <p class=note>Note that the document parser may have not only normalized segment breaks, but also collapsed other space characters or otherwise @@ -788,8 +790,8 @@ (U+202<var>x</var>) should be rendered as invisible zero-width characters. UAs may instead treat them as visible characters. (Note, however, that this will usually result in them being rendered as missing glyphs.) <span - class=issue>What's the line-breaking behavior? Assign to alphabetic - class?</span> + class=issue>What's the line-breaking behavior? Effects on joining? Can we + just copy the behavior of some zero-width Unicode character?</span> <h3 id=white-space-collapsing><span class=secno>4.1. </span> White Space Collapsing: the ‘<a href="#bikeshedding"><code @@ -879,11 +881,13 @@ <dt><dfn id=trim-inner title="white-space:trim-inner"><code>trim-inner</code></dfn> - <dd>This value directs UAs to discard all whitespace at the beginning of a - block up to and including the last line feed before the first - non-white-space character in the block as well as to discard all white - space at the end of a block starting with the first line feed after the - last non-white-space character in the block. + <dd>For block containers this value directs UAs to discard all whitespace + at the beginning of the element up to and including the last line feed + before the first non-white-space character in the element as well as to + discard all white space at the end of the element starting with the first + line feed after the last non-white-space character in the element. For + inline elements this value directs UAs to discard all whitespace at the + beginning and end of the element. For other elements, this has no effect. <dt><dfn id=consume-before title="white-space:consume-before"><code>consume-before</code></dfn> @@ -948,13 +952,22 @@ <p>This property determines the width of the tab character (U+0009), in space characters (U+0020), when rendered. Negative integers are not allowed. - <!-- BradK suggests allowing <length> values. Someone else suggested - spaces be given a unit, e.g. 8sp --> + + <p class=issue>BradK suggests allowing <length> values. Someone else + suggested spaces be given a unit, e.g. ‘<code + class=css>8sp</code>’. This unit could also be used for ‘<a + href="#letter-spacing0"><code + class=property>letter-spacing</code></a>’ and ‘<a + href="#word-spacing0"><code class=property>word-spacing</code></a>’. <h3 id=white-space-rules><span class=secno>4.3. </span> The White Space Processing Rules</h3> + <p>White space processing affects only spaces (U+0020), tabs (U+0009), and + (<a href="#segment-normalization">post-normalization</a>) line feeds + (U+00A0). + <p>For each inline (including anonymous inlines) within an inline formatting context, white space characters are handled as follows, ignoring bidi formatting characters as if they were not there: @@ -976,29 +989,31 @@ class=property>bikeshedding</code></a>’ is not ‘<code class=css>preserve-breaks</code>’, line feed characters are transformed for rendering according to the <a - href="#line-break-transform">line break transformation rules</a>. + href="#line-break-transform">line feed transformation rules</a>. - <li>Every tab (U+0009) is converted to a space (U+0020) + <li>Every tab is converted to a space (U+0020). - <li>Any space (U+0020) following another collapsible space - (U+0020)—even a space before the inline—is removed. + <li>Any space immediately following another collapsible space + —even one outside the boundary of the inline—is removed. However, if removing this space would eliminate a line breaking opportunity in the text, that opportunity is still considered to exist. - <li>A collapsible space before the start of an element with ‘<code - class=css>consume-before</code>’ is removed. + <li>A collapsible space immediately preceding an element with + ‘<code class=css>consume-before</code>’ is removed. Such + removed spaces do not indicate a line breaking opportunity in the text. + - <li>A collapsible space after the end of an element with ‘<code - class=css>consume-after</code>’ is removed. + <li>Any collapsible spaces after the end of an element with ‘<code + class=css>consume-after</code>’ are removed. Such removed spaces + do not indicate a line breaking opportunity in the text. </ol> <li> <p>If ‘<a href="#bikeshedding"><code class=property>bikeshedding</code></a>’ is set to ‘<code - class=css>preserve</code>’, any sequence of spaces (U+0020) - unbroken by an element boundary is treated as a sequence of non-breaking - spaces. However, a line breaking opportunity exists at the end of the - sequence. + class=css>preserve</code>’, any sequence of spaces unbroken by an + element boundary is treated as a sequence of non-breaking spaces. + However, a line breaking opportunity exists at the end of the sequence. <li> <p>If ‘<a href="#bikeshedding"><code @@ -1009,31 +1024,31 @@ </ul> <p>Then, the entire block is rendered. Inlines are laid out, taking bidi - reordering into account, and wrapping as specified by the <span - class=property>‘<a href="#text-wrap0"><code - class=property>text-wrap</code></a>’</span> property. + reordering into account, and wrapping as specified by the ‘<a + href="#text-wrap0"><code class=property>text-wrap</code></a>’ + property. <p>As each line is laid out, <ol> - <li>A sequence of collapsible spaces (U+0020) at the beginning of a line - is removed. + <li>A sequence of collapsible spaces at the beginning of a line is + removed. - <li>Each tab (U+0009) is rendered as a horizontal shift that lines up the - start edge of the next glyph with the next tab stop. Tab stops occur at - points that are multiples of the width of a space (U+0020) rendered in - the block's font from the block's starting content edge. How many spaces - is given by the ‘<a href="#tab-size0"><code + <li>Each tab is rendered as a horizontal shift that lines up the start + edge of the next glyph with the next tab stop. Tab stops occur at points + that are multiples of the width of a space (U+0020) rendered in the + block's font from the block's starting content edge. How many spaces is + given by the ‘<a href="#tab-size0"><code class=property>tab-size</code></a>’ property. - <li>A sequence of collapsible spaces (U+0020) at the end of a line is - removed. + <li>A sequence of collapsible spaces at the end of a line is removed. - <li>If spaces (U+0020) or tabs (U+0009) at the end of a line are - non-collapsible but have ‘<a href="#text-wrap0"><code + <li>If spaces or tabs at the end of a line are non-collapsible but have + ‘<a href="#text-wrap0"><code class=property>text-wrap</code></a>’ set to ‘<code class=property>normal</code>’ or ‘<code - class=property>avoid</code>’ the UA may visually collapse them. + class=property>avoid</code>’ the UA may visually collapse their + character advance widths. </ol> <div class=example> @@ -1075,12 +1090,12 @@ on implicit bidirectionality instead of explicit embedding levels.</p> </div> - <h4 id=line-break-transform><span class=secno>4.3.2. </span> Line Break + <h4 id=line-break-transform><span class=secno>4.3.2. </span> Line Feed Transformation Rules</h4> <p>When line feeds are <a href="#collapse">collapsible</a>, they are either - transformed into a space (U+0020) or removed depending on the script - context before and after the line break. + transformed into a space (U+0020) or removed depending on the context + before and after the line break. <p class=note>Note that the white space processing rules have already removed any tabs and spaces after the line feed before these checks take @@ -1091,8 +1106,8 @@ is the zero width space character (U+200B), then the line feed is removed. - <li>Otherwise, if the script context on one side of the line feed is - Hangul, then the line feed is converted to a space (U+0020). + <li>Otherwise, if a character on either side of the line feed is Hangul, + then the line feed is converted to a space (U+0020). <li>Otherwise, if the East Asian Width property <a href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a> of both the character before @@ -1117,13 +1132,12 @@ <ul> <li>Consecutive white space collapses into a single space. - <li>A sequence of newlines and other white space between two ideographic - characters collapses into nothing unless there is a space before the - first newline in the sequence. + <li>A sequence of newlines and other white space between two Chinese, + Japanese, or Yi characters collapses into nothing. - <li>A zero width space within a white space sequence containing a newline - causes the entire sequence of white space to collapse into a zero width - space. + <li>A zero width space before or after a white space sequence containing a + newline causes the entire sequence of white space to collapse into a zero + width space. </ul> <h3 id=white-space><span class=secno>4.4. </span> White Space and Text Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.src.html,v retrieving revision 1.183 retrieving revision 1.184 diff -u -d -r1.183 -r1.184 --- Overview.src.html 30 Mar 2011 00:37:40 -0000 1.183 +++ Overview.src.html 30 Mar 2011 03:24:34 -0000 1.184 @@ -172,10 +172,11 @@ or <a href="http://fantasai.inkedblade.net/contact">email fantasai directly</a> (personal).</p> <p>The following features are at risk and may be cut from the spec during - its CR period:</p> + its CR period if there are no (correct) implementations:</p> <ul> <li>the 'hanging-punctuation' property <li>the ''all'' value of the 'hyphens' property + <li>the percentage values of 'letter-spacing' and 'word-spacing' <li>the 'hyphenate-limit-*' properties <li>the 'hyphenate-resource' property / ''@hyphenate-resource'' at-rule <li>the 'text-outline' property @@ -422,24 +423,23 @@ control interpretation of such formatting: to preserve or collapse it away when rendering the document. - <p>White space processing in CSS interprets white space characters - for rendering: it has no effect on the underlying document data. - - <p>In the context of CSS, the document white space set is defined - to be any space characters (Unicode value U+0020), tab characters - (U+0009), and line feeds (U+000A). - - <p>However in the document source, segments can be delimited by carriage + <p id="segment-normalization"> + In the document source, segments can be delimited by carriage returns (U+000D), linefeeds (U+000A) or a combination (U+000D U+000A), or by some other mechanism, such as the SGML RECORD-START - and RECORD-END tokens. In CSS, each such segment break is treated as - a single line feed character (U+000A). + and RECORD-END tokens. If no segmentation rules are specified for the document language, each line feed (U+000A), carriage return (U+000D) and CRLF sequence (U+000D U+000A) in the text is considered a segment break. (This default rule also applies to generated content.) + In CSS, each such segment break is treated as a single line feed + character (U+000A). + + <p>White space processing in CSS interprets white space characters + only for rendering: it has no effect on the underlying document data. + <p class="note">Note that the document parser may have not only normalized segment breaks, but also collapsed other space characters or otherwise processed white space according to markup rules. Because CSS @@ -453,7 +453,8 @@ should be rendered as invisible zero-width characters. UAs may instead treat them as visible characters. (Note, however, that this will usually result in them being rendered as missing glyphs.) - <span class="issue">What's the line-breaking behavior? Assign to alphabetic class?</span> + <span class="issue">What's the line-breaking behavior? Effects on joining? + Can we just copy the behavior of some zero-width Unicode character?</span> <h3 id="white-space-collapsing"> White Space Collapsing: the 'bikeshedding' property</h3> @@ -520,11 +521,14 @@ <dd>This value directs user agents to "discard" all white space in the element. <dt><dfn title="white-space:trim-inner"><code>trim-inner</code></dfn></dt> - <dd>This value directs UAs to discard all whitespace at the beginning of - a block up to and including the last line feed before the first - non-white-space character in the block as well as to discard all white - space at the end of a block starting with the first line feed after - the last non-white-space character in the block.</dd> + <dd>For block containers this value directs UAs to discard all whitespace + at the beginning of the element up to and including the last line feed + before the first non-white-space character in the element as well as + to discard all white space at the end of the element starting with the + first line feed after the last non-white-space character in the element. + For inline elements this value directs UAs to discard all whitespace + at the beginning and end of the element. For other elements, this has + no effect.</dd> <dt><dfn title="white-space:consume-before"><code>consume-before</code></dfn></dt> <dd>This value directs the UA to collapse all collapsible whitespace immediately before the start of the element. @@ -576,12 +580,17 @@ <p>This property determines the width of the tab character (U+0009), in space characters (U+0020), when rendered. Negative integers are not allowed. - <!-- BradK suggests allowing <length> values. Someone else suggested - spaces be given a unit, e.g. 8sp --> + <p class="issue">BradK suggests allowing <length> values. Someone else suggested + spaces be given a unit, e.g. ''8sp''. This unit could also be used + for 'letter-spacing' and 'word-spacing'. <h3 id="white-space-rules"> The White Space Processing Rules</h3> + <p>White space processing affects only spaces (U+0020), tabs (U+0009), + and (<a href="#segment-normalization">post-normalization</a>) + line feeds (U+00A0). + <p>For each inline (including anonymous inlines) within an inline formatting context, white space characters are handled as follows, ignoring bidi formatting characters as if they were not there:</p> @@ -597,22 +606,25 @@ <li>If 'bikeshedding' is not ''preserve-breaks'', line feed characters are transformed for rendering according to the <a href="#line-break-transform">line - break transformation rules</a>. + feed transformation rules</a>. </li> - <li>Every tab (U+0009) is converted to a space (U+0020)</li> - <li>Any space (U+0020) following another collapsible space - (U+0020)—even a space before the inline—is removed. + <li>Every tab is converted to a space (U+0020).</li> + <li>Any space immediately following another collapsible space + —even one outside the boundary of the inline—is + removed. However, if removing this space would eliminate a line breaking opportunity in the text, that opportunity is still considered to exist.</li> - <li>A collapsible space before the start of an element with - ''consume-before'' is removed. - <li>A collapsible space after the end of an element with - ''consume-after'' is removed. + <li>A collapsible space immediately preceding an element with + ''consume-before'' is removed. Such removed spaces do not indicate + a line breaking opportunity in the text. + <li>Any collapsible spaces after the end of an element with + ''consume-after'' are removed. Such removed spaces do not indicate + a line breaking opportunity in the text. </ol> </li> <li><p>If 'bikeshedding' is set to - ''preserve'', any sequence of spaces (U+0020) unbroken by an element + ''preserve'', any sequence of spaces unbroken by an element boundary is treated as a sequence of non-breaking spaces. However, a line breaking opportunity exists at the end of the sequence.</p></li> <li><p>If 'bikeshedding' is set to @@ -623,23 +635,22 @@ <p>Then, the entire block is rendered. Inlines are laid out, taking bidi reordering into account, and wrapping as specified by the - <span class="property">'text-wrap'</span> property.</p> + 'text-wrap' property.</p> <p>As each line is laid out,</p> <ol> - <li>A sequence of collapsible spaces (U+0020) at the beginning of a - line is removed.</li> - <li>Each tab (U+0009) is rendered as a horizontal shift that lines up + <li>A sequence of collapsible spaces at the beginning of a line is + removed. + <li>Each tab is rendered as a horizontal shift that lines up the start edge of the next glyph with the next tab stop. Tab stops occur at points that are multiples of the width of a space (U+0020) rendered in the block's font from the block's starting content edge. How many spaces is given by the 'tab-size' property.</li> - <li>A sequence of collapsible spaces (U+0020) at the end of a line - is removed.</li> - <li>If spaces (U+0020) or tabs (U+0009) at the end of a line are - non-collapsible but have 'text-wrap' set to 'normal' or 'avoid' - the UA may visually collapse them. + <li>A sequence of collapsible spaces at the end of a line is removed. + <li>If spaces or tabs at the end of a line are non-collapsible but + have 'text-wrap' set to 'normal' or 'avoid' the UA may visually + collapse their character advance widths. </ol> <div class="example"> @@ -681,11 +692,11 @@ </div> <h4 id="line-break-transform"> - Line Break Transformation Rules</h4> + Line Feed Transformation Rules</h4> <p>When line feeds are <a href="#collapse">collapsible</a>, they are either transformed into a space (U+0020) or removed depending on the - script context before and after the line break.</p> + context before and after the line break.</p> <p class="note">Note that the white space processing rules have already removed any tabs and spaces after the line feed before these checks @@ -695,7 +706,7 @@ <li>If the character immediately before or immediately after the line feed is the zero width space character (U+200B), then the line feed is removed. - <li>Otherwise, if the script context on one side of the line feed is + <li>Otherwise, if a character on either side of the line feed is Hangul, then the line feed is converted to a space (U+0020). <li>Otherwise, if the East Asian Width property [[!UAX11]] of both the character before and after the line feed is F, W, or H (not A), @@ -715,11 +726,10 @@ <ul> <li>Consecutive white space collapses into a single space. - <li>A sequence of newlines and other white space between - two ideographic characters collapses into nothing unless - there is a space before the first newline in the sequence. - <li>A zero width space within a white space sequence containing - a newline causes the entire sequence of white space + <li>A sequence of newlines and other white space between two + Chinese, Japanese, or Yi characters collapses into nothing. + <li>A zero width space before or after a white space sequence + containing a newline causes the entire sequence of white space to collapse into a zero width space. </ul>
Received on Wednesday, 30 March 2011 03:24:41 UTC