- 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