- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Sat, 19 Mar 2011 07:41:28 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-text In directory hutz:/tmp/cvs-serv14608 Modified Files: Overview.html Overview.src.html Log Message: Address feedback from F2F <http://lists.w3.org/Archives/Public/www-style/2011Mar/0307.html>: - Remove 'unrestricted' value of 'text-wrap' - Mark 'all' value of 'hyphens' at-risk - Mark all other hyphenation properties at-risk - Make control characters invisible - Rename 'white-space-collapsing' to 'bikeshedding' - Remove 'keep-words' value of 'word-break' - Remove second <string> value of 'hyphenate-character' - Merge various hyphenation limits into one property - Allow zero tab-size - Add 'hyphenate' value to 'word-wrap' - Change 'no-' values of text decoration to 'cancel-' - Allow combination of 'cancel-' values with other values - Rename 'wave' to 'wavy' for text-decoration-style - Remove 'all' value of 'text-decoration-skip' - s/Draw/Display/ for text-emphasis - Note that CSS may in the future define controls to handle ruby/emphasis conflicts - Mark a bunch of properties optional for conformance due to their localized non-critical impact - Make a table indicating cultural target audience of various features - Start an explicit list of scripts for script categories Additional editorial: - Rename Script Groups to Script Categorizations - Clarify some hyphenation/line-breaking interactions. - Rename full-size-kana to fullsize-kana to be consistent with fullwidth Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.html,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- Overview.html 15 Mar 2011 22:43:44 -0000 1.76 +++ Overview.html 19 Mar 2011 07:41:25 -0000 1.77 @@ -83,14 +83,14 @@ <h1>CSS Text Level 3</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 15 March 2011</h2> + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 19 March 2011</h2> <dl> <dt>This version: <dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date: - 2011/03/10 06:56:59 $ (CVS $Revision$)</a> <!-- [...1597 lines suppressed...] @@ -6807,9 +7013,6 @@ <li>word-break:keep-all, <a href="#keep-all" title="word-break:keep-all"><strong>5.2.</strong></a> - <li>word-break:keep-words, <a href="#keep-words" - title="word-break:keep-words"><strong>5.2.</strong></a> - <li>word-break:normal, <a href="#normal1" title="word-break:normal"><strong>5.2.</strong></a> @@ -6822,6 +7025,9 @@ <li>word-wrap:break-word, <a href="#break-word" title="word-wrap:break-word"><strong>7.2.</strong></a> + <li>word-wrap:hyphenate, <a href="#hyphenate" + title="word-wrap:hyphenate"><strong>7.2.</strong></a> + <li>word-wrap:normal, <a href="#normal3" title="word-wrap:normal"><strong>7.2.</strong></a> </ul> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.src.html,v retrieving revision 1.174 retrieving revision 1.175 diff -u -d -r1.174 -r1.175 --- Overview.src.html 15 Mar 2011 22:43:44 -0000 1.174 +++ Overview.src.html 19 Mar 2011 07:41:26 -0000 1.175 @@ -174,9 +174,11 @@ <p>The following features are at risk and may be cut from the spec during its CR period:</p> <ul> - <li>the 'text-outline' property - <li>the ''unrestricted'' value of 'text-wrap' <li>the 'hanging-punctuation' property + <li>the ''all'' value of the 'hyphens' property + <li>the 'hyphenate-limit-*' properties + <li>the 'hyphenate-resource' property / ''@hyphenate-resource'' at-rule + <li>the 'text-outline' property <li>the 'text-trim' property <li><span class="issue">audit draft and add more here</span> </ul> @@ -198,11 +200,11 @@ the <em>legacy grapheme cluster</em> definition). The UA may further tailor the definition as allowed by Unicode. - <h3 id="script-groups">Script Groups</h3> + <h3 id="script-groups">Script Categorization</h3> <p>Typographic behavior varies somewhat by language, but varies drastically by writing system. For convenience, CSS3 Text defines the following - script groups, which combine typographically-similar scripts together. + script categories, which combine typographically-similar scripts together. <dl> <dt id="block-scripts"><dfn>block scripts</dfn></dt> @@ -222,7 +224,7 @@ <dt id="connected-scripts"><dfn>connected scripts</dfn></dt> <dd>Devanagari, Ogham, and other scripts that use spaces between words and baseline connectors within words. - By extension this group also includes Gurmukhi, Tamil and any + By extension this category also includes Gurmukhi, Tamil and any other Indic scripts whose typographic behavior is similar to Devanagari.</dd> </dl> @@ -314,7 +316,7 @@ <tr> <th>Value:</th> <td>none | - [ [ capitalize | uppercase | lowercase ] || fullwidth || full-size-kana ] + [ [ capitalize | uppercase | lowercase ] || fullwidth || fullsize-kana ] </td> </tr> <tr> @@ -363,7 +365,7 @@ it is left as is. This value is typically used to typeset Latin characters and digits like ideographic characters. - <dt><dfn title="text-transform:full-size-kana"><code>full-size-kana</code></dfn></dt> + <dt><dfn title="text-transform:fullsize-kana"><code>fullsize-kana</code></dfn></dt> <dd>Converts all small Kana characters to normal Kana. This value is typically used for ruby annotation text, where all small Kana should be drawn as large Kana. @@ -446,13 +448,15 @@ behavior specified below can be affected by these limitations and may be user agent dependent.</p> - <p>Control characters other than U+0009 (tab), U+000A (line feed), - U+0020 (space), and U+202x (bidi formatting characters) are treated - as characters to render in the same way as any normal character. - <span class="issue">Copied from CSS2.1 but this has got to be wrong.</span> + <p>Control characters (Unicode class Cc) other than tab (U+0009), line feed + (U+000A), space (U+0020), and the bidi formatting characters (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> <h3 id="white-space-collapsing"> - White Space Collapsing: the 'white-space-collapsing' property</h3> + White Space Collapsing: the 'bikeshedding' property</h3> <p class="issue">This section is still under discussion and may change in future drafts.</p> @@ -460,7 +464,7 @@ <tbody> <tr> <th>Name:</th> - <td><dfn>white-space-collapsing</dfn></td> + <td><dfn>bikeshedding</dfn></td> </tr> <tr> <th>Value:</th> @@ -493,7 +497,7 @@ </tbody> </table> - <p class="issue">Rename to white-space-trim or white-space-adjust? white-space-collapsing has an 'ing' and is confusing with XSL</p> + <p class="issue">Need a property name</p> <p>This property declares whether and how <a href="#white-space-processing">white space</a> inside the element is @@ -502,29 +506,29 @@ rules</a>:</p> <dl> - <dt><dfn title="white-space-collapsing:collapse"><code>collapse</code></dfn></dt> + <dt><dfn title="white-space:collapse"><code>collapse</code></dfn></dt> <dd>This value directs user agents to collapse sequences of white space into a single character (or <a href="#line-break-transform">in some cases</a>, no character).</dd> - <dt><dfn title="white-space-collapsing:preserve"><code>preserve</code></dfn></dt> + <dt><dfn title="white-space:preserve"><code>preserve</code></dfn></dt> <dd>This value prevents user agents from collapsing sequences of white space. Line feeds are preserved as forced line breaks.</dd> - <dt><dfn title="white-space-collapsing:preserve-breaks"><code>preserve-breaks</code></dfn></dt> + <dt><dfn title="white-space:preserve-breaks"><code>preserve-breaks</code></dfn></dt> <dd>This value collapses white space as for ''collapse'', but preserves line feeds as forced line breaks.</dd> - <dt><dfn title="white-space-collapsing:discard"><code>discard</code></dfn></dt> + <dt><dfn title="white-space:discard"><code>discard</code></dfn></dt> <dd>This value directs user agents to "discard" all white space in the element. - <dt><dfn title="white-space-collapsing:trim-inner"><code>trim-inner</code></dfn></dt> + <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> - <dt><dfn title="white-space-collapsing:consume-before"><code>consume-before</code></dfn></dt> + <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. - <dt><dfn title="white-space-collapsing:consume-after"><code>consume-after</code></dfn></dt> + <dt><dfn title="white-space:consume-after"><code>consume-after</code></dfn></dt> <dd>This value directs the UA to collapse all collapsible whitespace immediately after the end of the element. </dl> @@ -570,8 +574,10 @@ </table> <p>This property determines the width of the tab character (U+0009), - in space characters (U+0020), when rendered. Only positive integers - are allowed. + 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 --> <h3 id="white-space-rules"> The White Space Processing Rules</h3> @@ -581,15 +587,15 @@ ignoring bidi formatting characters as if they were not there:</p> <ul> - <li id="collapse"><p>If <span class="property">'white-space-collapsing'</span> - is set to 'collapse' or 'preserve-breaks', white space characters + <li id="collapse"><p>If 'bikeshedding' + is set to ''collapse'' or ''preserve-breaks'', white space characters are considered <dfn>collapsible</dfn> and are processed by performing the following steps:</p> <ol> <li>All spaces and tabs immediately preceding or following a line feed character are removed.</li> - <li>If <span class="property">'white-space-collapsing'</span> is not - 'preserve-breaks', line feed characters are transformed for + <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>. </li> @@ -605,12 +611,12 @@ ''consume-after'' is removed. </ol> </li> - <li><p>If <span class="property">'white-space-collapsing'</span> is set to - 'preserve', any sequence of spaces (U+0020) unbroken by an element + <li><p>If 'bikeshedding' is set to + ''preserve'', 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.</p></li> - <li><p>If <span class="property">'white-space-collapsing'</span> is set to - 'discard', the first white space character in every white space + <li><p>If 'bikeshedding' is set to + ''discard'', the first white space character in every white space sequence is converted to a zero width non-joiner (U+200C) and the rest of the sequence is removed.</p> </ul> @@ -647,8 +653,8 @@ <p>where the <code><ltr></code> element represents a left-to-right embedding and the <code><rtl></code> element represents a - right-to-left embedding. If the 'white-space-collapsing' property is set - to 'collapse', the above processing model would result in the + right-to-left embedding. If the 'bikeshedding' property is set + to ''collapse'', the above processing model would result in the following:</p> <ul style="line-height:1.3"> @@ -758,27 +764,26 @@ </table> <p>The 'white-space' property is a shorthand for the - <a href="#white-space-collapsing">'white-space-collapsing'</a> - and <a href="#text-wrap">'text-wrap'</a> properties. + 'bikeshedding' and 'text-wrap' properties. Not all combinations are represented. Values have the following meanings:</p> <dl> <dt><dfn title="white-space:normal"><code>normal</code></dfn></dt> - <dd>Sets 'white-space-collapsing' to 'collapse' and - 'text-wrap' to 'normal'</dd> + <dd>Sets 'bikeshedding' to ''collapse'' and + 'text-wrap' to ''normal''</dd> <dt><dfn title="white-space:pre"><code>pre</code></dfn></dt> - <dd>Sets 'white-space-collapsing' to 'preserve' and - 'text-wrap' to 'none'</dd> + <dd>Sets 'bikeshedding' to ''preserve'' and + 'text-wrap' to ''none''</dd> <dt><dfn title="white-space:nowrap"><code>nowrap</code></dfn></dt> - <dd>Sets 'white-space-collapsing' to 'collapse' and - 'text-wrap' to 'none'</dd> + <dd>Sets 'bikeshedding' to ''collapse'' and + 'text-wrap' to ''none''</dd> <dt><dfn title="white-space:pre-wrap"><code>pre-wrap</code></dfn></dt> - <dd>Sets 'white-space-collapsing' to 'preserve' and - 'text-wrap' to 'normal'</dd> + <dd>Sets 'bikeshedding' to ''preserve'' and + 'text-wrap' to ''normal''</dd> <dt><dfn title="white-space:pre-line"><code>pre-line</code></dfn></dt> - <dd>Sets 'white-space-collapsing' to 'preserve-breaks' and - 'text-wrap' to 'normal'</dd> + <dd>Sets 'bikeshedding' to ''preserve-breaks'' and + 'text-wrap' to ''normal''</dd> </dl> <p>The following informative table summarizes the behavior of various @@ -962,6 +967,10 @@ </ul> </ul> + <p>Support for this property is <em>optional</em>. It is recommended + for UAs that wish to support CJK typography and strongly recommended + for UAs in the Japanese market.</p> + <h3 id="word-break"> Word Breaking Rules: the 'word-break' property</h3> @@ -1019,14 +1028,6 @@ ''normal''. This option is mostly used where the presence of word separator characters still creates line-breaking opportunities, as in Korean.</dd> - <dt><dfn title="word-break:keep-words"><code>keep-words</code></dfn></dt> - <dd>Lines may not break within words, even in - <a href="#block-scripts">block scripts</a> (which would require the use - of a dictionary in languages such as Chinese and Japanese). This option - is sometimes used in combination with start-aligned (unjustified) text. - <span class="issue">This value is likely to be dropped before CR unless - there is interest from implementers.</span> - </dd> </dl> <p>When shaping scripts such as Arabic are allowed to break within words @@ -1042,6 +1043,26 @@ <p>Whether hyphenation is applied can controlled with the 'hyphens' property. + <p>The following author controls are not required to be supported for + the UA to claim conformance to CSS Text Level 3: + <ul> + <li>'hyphenate-limit-zone' + <li>'hyphenate-limit-chars' + <li>'hyphenate-limit-lines' + <li>'hyphenate-resources' + <li>''@hyphenate-resource'' + </ul> + + <p>Nonetheless, UAs are strongly encouraged to optimize their line-breaking + implementation to choose good break points and appropriate hyphenation + points. + + <p class="note">These controls are optional because for a low-end + implementation of hyphenation, they are not critical enough; and for + a high-end implementation of paragraph breaking (such as in + T<span style="font-variant: small-caps">e</span>χ) they are not + considered especially useful.</p> + <h3 id="hyphens">Hyphenation Control: the 'hyphens' property</h3> <table class=propdef> @@ -1130,7 +1151,7 @@ <td><dfn>hyphenate-character</dfn> <tr> <th>Value: - <td>auto | <string> <string>? + <td>auto | <string> <tr> <th>Initial: <td>auto @@ -1153,12 +1174,8 @@ <p>This property specifies strings that are shown between parts of hyphenated words. The 'auto' value means that the user agent should - find an appropriate value. If one string is specified, it appears at - the end of lines. If two strings are specified, the second string - appears at the beginning of lines. - - <p class=issue>Is the use of hyphenate characters at the beginning of - lines common enough for this to be part of the specification? + find an appropriate value. If a string is specified, it appears at + the end of the line before a hyphenation break. <div class="example"> <p>In Latin scripts, the hyphen character (U+2010) is often used to @@ -1167,6 +1184,8 @@ <pre>article { hyphenate-character: "\2010" }</pre> </div> + <p class="issue">Can we to CLDR for hyphenation character data?</p> + <h3 id="hyphenate-char-limits"> Hyphenation Size Limit: the 'hyphenate-limit-zone' property</h3> @@ -1204,21 +1223,16 @@ triggered to pull part of a word from the next line back up into the current line. - <p class="issue">Should percentages be relative to the line box or the - block? (Difference occurs in presence of floats. Making it relative - to the line box means the hyphenation zone adapts to how much space - there is on the line.)</span> - <h3 id="hyphenate-char-limits"> - Hyphenation Character Limits: the 'hyphenate-limit-before' and 'hyphenate-limit-after' properties</h3> + Hyphenation Character Limits: the 'hyphenate-limit-word' property</h3> <table class=propdef> <tr> <th>Name: - <td><dfn>hyphenate-limit-before</dfn> + <td><dfn>hyphenate-limit-chars</dfn> <tr> <th>Value: - <td><integer> | auto + <td>auto | <integer>{1,3} <tr> <th>Initial: <td>auto @@ -1240,45 +1254,32 @@ </table> <p>This property specifies the minimum number of characters in a - hyphenated word before the hyphenation character. The ''auto'' value - means that the UA chooses a value that adapts to the current layout. - - <p class="note">Unless the UA is able to calculate a better value, it - is suggested that ''auto'' means 2. - - <table class=propdef> - <tr> - <th>Name: - <td><dfn>hyphenate-limit-after</dfn> - <tr> - <th>Value: - <td><integer> | auto - <tr> - <th>Initial: - <td>auto - <tr> - <th>Applies to: - <td>all elements - <tr> - <th>Inherited: - <td>yes - <tr> - <th>Percentages: - <td>N/A - <tr> - <th>Media: - <td>visual - <tr> - <th>Computed value: - <td>specified value - </table> + hyphenated word. If the word does not meet the required minimum + number of characters in the word / before the hyphen / after the + hyphen, then the word must not be hyphenated. Nonspacing combining + marks (<span class="issue">Unicode class</span>) and intra-word + punctuation (Unicode classes P*) do not count towards the minimum. - <p>This property specifies the minimum number of characters in a - hyphenated word after the hyphenation character. The ''auto'' value - means that the UA chooses a value that adapts to the current layout. + <p>If three values are specified, the first value is the required + minimum for the total characters in a word, the second value is + the minimum for characters before the hyphenation point, and + the third value is the minimum for characters after the hyphenation + point. If the third value is missing, it is the same as the second. + If the second value is missing, then it is ''auto''. The ''auto'' + value means that the UA chooses a value that adapts to the current + layout. <p class="note">Unless the UA is able to calculate a better value, it - is suggested that ''auto'' means 2. + is suggested that ''auto'' means 2 for before and after, and 5 for + the word total. + + <div class="example"> + <p>In the example below, the minimum size of a hyphenated word is + left to the UA (which means it may vary depending on the language, + the length of the line, or other factors), but the minimum number + of characters before and after the hyphenation point is set to 3. + <pre>p { hyphenate-limit-chars: auto 3; } + </div> <h3 id="hyphenate-line-limits"> Hyphenation Line Limits: the 'hyphenate-limit-lines' and 'hyphenate-limit-last' properties</h3> @@ -1311,9 +1312,11 @@ </table> <p>This property indicates the maximum number of successive hyphenated - lines in an element. In some cases, user agents may not be able to - honor the specified value. The ''no-limit'' value means that there - is no limit. + lines in an element. The ''no-limit'' value means that there is no limit. + + <p>In some cases, user agents may not be able to honor the specified value. + (See 'word-wrap'.) It is not defined whether hyphenation introduced by + such emergency breaking influences nearby hyphenation points. <table class=propdef> <tr> @@ -1547,7 +1550,7 @@ </tr> <tr> <th>Value:</th> - <td>normal | unrestricted | none | avoid</td> + <td>normal | none | avoid</td> </tr> <tr> <th>Initial:</th> @@ -1587,12 +1590,6 @@ <dt><dfn title="text-wrap:none"><code>none</code></dfn></dt> <dd>Lines may not break; text that does not fit within the block container overflows it.</dd> - <dt><dfn title="text-wrap:unrestricted"><code>unrestricted</code></dfn></dt> - <dd>Lines may break between any two grapheme clusters. Line-breaking - restrictions have no effect and hyphenation does not take place. - Character shaping is performed on each side of the break as if - the break had not occurred. <span class="issue">This value is - for terminal-style dumb line breaking. But has no use cases.</span></dd> <dt><dfn title="text-wrap:avoid"><code>avoid</code></dfn></dt> <dd>Line breaking is suppressed within the element: the UA may only break within the element if there are no other valid break points in the @@ -1665,7 +1662,7 @@ </tr> <tr> <th>Value:</th> - <td>normal | break-word</td> + <td>normal | [ break-word || hyphenate ]</td> </tr> <tr> <th>Initial:</th> @@ -1706,19 +1703,23 @@ ''word-break: normal'' and the various hyphenation limit properties may be ignored if there are no otherwise-acceptable break points in the line.</dd> + <dt><dfn title="word-wrap:hyphenate"><code>hyphenate</code></dfn></dt> + <dd>An unbreakable "word" may be hyphenated if there are no + otherwise-acceptable break points in the line even if hyphenation is + turned off. Hyphenation controls may influence where the word breaks, + but cannot forbid the word from hyphenating to prevent overflow. <dt><dfn title="word-wrap:break-word"><code>break-word</code></dfn></dt> <dd>An unbreakable "word" may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line. Shaping characters are still shaped as if the word were not - broken, and grapheme clusters must together stay as one unit.</dd> + broken, and grapheme clusters must together stay as one unit. + If specified together with ''hyphenate'', valid hyphenation + takes precedence over ''break-word'' breaking.</dd> </dl> - <p class="issue">Should there be a ''hyphenate'' value, that turns - on hyphenation only for emergency breaking? (This would give better - results than ''break-word''.) - - <p class="issue">Should there be a ''none'' value, that prevents - the relaxation of 'word-break' and hyphenation limit restrictions?</p> + <p class="note">This property should have been called 'emergency-wrap', + however due to historical reasons it could not be given a less + confusing name.</p> <h2 id="justification"> Alignment and Justification</h2> @@ -2048,7 +2049,7 @@ <dt><dfn title="text-justify:distribute"><code>distribute</code></dfn></dt> <dd>Justification primarily changes spacing both at word separators and at grapheme cluster boundaries in all scripts except those in - the connected and cursive groups. + the connected and cursive categories. This value is sometimes used in e.g. Japanese.</dd> <dt><a name="kashida-prop"></a><a name="text-kashida-space"></a> <dfn title="text-justify:kashida"><code>kashida</code></dfn></dt> @@ -2092,7 +2093,7 @@ group, but may vary within a line due to changes in the font or letter-spacing and word-spacing values. Since justification behavior varies by writing system, expansion opportunities are organized by - <a href="#script-groups">script group</a>. The different types of + <a href="#script-groups">script categories</a>. The different types of expansion opportunities are defined as follows:</p> <dl> @@ -2105,7 +2106,7 @@ <dt>discrete</dt> <dd>An expansion opportunity exists between two <a href="#grapheme-cluster">grapheme clusters</a> when at least - one of them belongs to the affected script group and the spacing + one of them belongs to the affected script category and the spacing that point has not already been altered at a higher priority. </dd> <dt>cursive</dt> @@ -2830,6 +2831,9 @@ standard convention is often not followed.</p> </div> + <p>Support for this property is <em>optional</em>. It is strongly + recommended for UAs that wish to support CJK typography.</p> + <h3 id="text-autospace-prop"> Adding space: the 'text-autospace' property</h3> @@ -2966,6 +2970,10 @@ </dd> </dl> + <p>Support for this property is <em>optional</em>. It is recommended + for UAs that wish to support CJK typography.</p> + + <h2 id="edge-effects"> Edge Effects</h2> @@ -3151,6 +3159,10 @@ <p class="note">Note that if there is not sufficient padding on the block container, hanging punctuation may trigger overflow.</p> + <p>Support for this property is <em>optional</em>. It is recommended + for UAs that wish to support CJK typography, particularly those in + the Japanese market.</p> + <h2 id="decoration"> <a name="text-decoration">Text Decoration</a></h2> @@ -3257,7 +3269,8 @@ </tr> <tr> <th>Value:</th> - <td>none | [ underline | no-underline ] || [ overline | no-overline ] || [ line-through | no-line-through ] + <td>none | underline || overline || line-through || + [ cancel-underline || cancel-overline || cancel-line-through | cancel-all ] </td> </tr> <tr> @@ -3294,26 +3307,25 @@ <dt><dfn title="text-decoration-line:none">none</dfn> <dd>Neither produces nor inhibits text decoration. <dt>underline</dfn> - <dd>Each line of text is underlined. Inhibits propagated underlines. - <dt><dfn>no-underline</dfn> + <dd>Each line of text is underlined. + <dt><dfn>cancel-underline</dfn> <dd>Inhibits propagated underlines. <dt><dfn>overline</dfn> <dd>Each line of text has a line above it (i.e. on the opposite - side from an underline). Inhibits propagated overlines. - <dt><dfn>no-overline</dfn> + side from an underline). + <dt><dfn>cancel-overline</dfn> <dd>Inhibits propagated overlines. <dt><dfn>line-through</dfn> <dd>Each line of text has a line through the middle. - Inhibits propagated line-throughs. - <dt><dfn>no-line-through</dfn> + <dt><dfn>cancel-line-through</dfn> <dd>Inhibits propagated line-throughs. + <dt><dfn>cancel-all</dfn> + <dd>Inhibits propagated text decorations. </dl> - <p>A piece of text can have at most one underline, one overline, and one - line-through applied to it: if an element adds a new line, it inhibits - any lines of the same type that would otherwise be propagated to it.</p> - <p class="issue">This behavior is incompatible with CSS2.1, which says - that all ancestors' lines are painted along with the new one (if any).</p> + <p class="issue">The use of "cancel-" instead of "no-" is incompatible + with XSL. It was motivated by the desire to make + <code>text-decoration: underline no-underline</code> less nonsensical. <h4 id="text-decoration-color"> Text Decoration Color: the 'text-decoration-color' property</h4> @@ -3371,7 +3383,7 @@ </tr> <tr> <th>Value:</th> - <td>solid | double | dotted | dashed | wave + <td>solid | double | dotted | dashed | wavy </td> </tr> <tr> @@ -3405,7 +3417,7 @@ text decoration specified on the element. Values have the same meaning as for the <a href="http://www.w3.org/TR/css3-background/#the-border-style">border-style - properties</a> [[!CSS3BG]].</p> + properties</a> [[!CSS3BG]]. ''wavy'' indicates a wavy line.</p> <h4 id="text-decoration"> Text Decoration Shorthand: the 'text-decoration' property</h4> @@ -3488,7 +3500,7 @@ </tr> <tr> <th>Value:</th> - <td>none | [ objects || spaces || ink || all ] + <td>none | [ objects || spaces || ink ] </td> </tr> <tr> @@ -3542,21 +3554,13 @@ line to let text show through where the text decoration would otherwise cross over a glyph. The UA may also skip a small distance to either side of the glyph outline.</dd> - <dt><dfn title="text-decoration-skip:all">all</dfn></dt> - <dd>Skip over all content in this element.</dd> </dl> <p class="issue">Do we need a value that <em>doesn't</em> skip margins and padding?</p> - <p>Note that this property inherits and that descendant elements - can have a different setting. Therefore a child of an element - with <code>text-decoration-skip: all</code> can cause its - grandparent's underline to be drawn by specifying - <code>text-decoration-skip: none</code>.</p> - - <p class="issue">Is the ''all'' value needed now that 'text-decoration-line' - has line-inhibiting values from XSL?</p> + <p class="note">Note that this property inherits and that descendant + elements can have a different setting.</p> <h4 id="text-underline-position"> Text Underline Position: the 'text-underline-position' property</h4> @@ -3724,22 +3728,22 @@ <dt><dfn title="text-emphasis:open"><code>open</code></dfn></dt> <dd>The shape is hollow.</dd> <dt><dfn title="text-emphasis:dot"><code>dot</code></dfn></dt> - <dd>Draw small circles as marks. + <dd>Display small circles as marks. The filled dot is U+2022 '•', and the open dot is U+25E6 '◦'.</dd> <dt><dfn title="text-emphasis:circle"><code>circle</code></dfn></dt> - <dd>Draw large circles as marks. + <dd>Display large circles as marks. The filled circle is U+25CF '●', and the open circle is U+25CB '○'.</dd> <dt><dfn title="text-emphasis:double-circle"><code>double-circle</code></dfn></dt> - <dd>Draw double circles as marks. + <dd>Display double circles as marks. The filled double-circle is U+25C9 '◉', and the open double-circle is U+25CE '◎'.</dd> <dt><dfn title="text-emphasis:triangle"><code>triangle</code></dfn></dt> - <dd>Draw triangles as marks. + <dd>Display triangles as marks. The filled triangle is U+25B2 '▲', and the open triangle is U+25B3 '△'.</dd> <dt><dfn title="text-emphasis:sesame"><code>sesame</code></dfn></dt> - <dd>Draw sesames as marks. + <dd>Display sesames as marks. The filled sesame is U+FE45 '﹅', and the open sesame is U+FE46 '﹆'.</dd> <dt><dfn title="text-emphasis:sesame"><code><var><string></var></code></dfn></dt> - <dd>Draw the given string as marks. + <dd>Display the given string as marks. Authors should not specify more than one grapheme cluster in <string>. The UA may truncate or ignore strings consisting of more than one grapheme cluster.</dd> </dl> @@ -3792,6 +3796,9 @@ <p class="caption">Emphasis marks applied to 4 characters, and ruby to 2 of them</p> </div> + <p class="note">A future level of CSS may define controls to specify + what to do when emphasis marks and ruby text coincide.</p> + <h4 id="text-emphasis-color"> Emphasis Mark Color: the 'text-emphasis-color' property</h4> @@ -4190,7 +4197,7 @@ </ul> <h2 class="no-num" id="acknowledgements"> - Acknowledgements</h2> + Appendix A: Acknowledgements</h2> <p>This specification would not have been possible without the help from: Ayman Aldahleh, Bert Bos, Tantek Çelik, Stephen Deach, Martin Dürst, @@ -4202,7 +4209,7 @@ Frank Tang, Chris Thrasher, Etan Wexler, Chris Wilson, Masafumi Yabe and Steve Zilles.</p> -<h2 class="no-num">Appendix A: References</h2> +<h2 class="no-num">Appendix B: References</h2> <h3 class="no-num" id="normative-ref">Normative references</h3> <!--normative--> @@ -4210,12 +4217,78 @@ <h3 class="no-num" id="informative-ref">Informative references</h3> <!--informative--> -<h2 class="no-num"> Appendix B: Property index</h2> -<!-- properties --> +<h2 class="no-num" id="optional">Appendix C: Cultural Correlations</h2> -<h2 class="no-num" id="default-stylesheet">Appendix C: Default UA Stylesheet</h2> + <p><em>This section is non-normative.</em></p> - <p>This section is informative, and is to help UA developers to implement + <p>Some features are more important in some typographic traditions + than in others. This table summarizes which typographic traditions + these features were designed for. Parentheses indicates traditions for + which the feature is particularly significant. This table should be + considered incomplete and non-exhaustive. + + <table> + <thead> + <tr><th>Feature + <th>Typographic Tradition + </thead> + <tbody> + <tr><td>'hanging-punctuation' + <td>CJK + <tr><td>'hyphens' + <td>Western, South Asian + <tr><td>'hyphenate-character' + <td>Western, South Asian + <tr><td>'hyphenate-limit-chars' + <td>Western, South Asian + <tr><td>'hyphenate-limit-last' + <td>Western, South Asian + <tr><td>'hyphenate-limit-lines' + <td>Western, South Asian + <tr><td>'hyphenate-limit-zone' + <td>Western, South Asian + <tr><td>'hyphenate-resource'/''@hyphenate-resource'' + <td>Western, South Asian + <tr><td>'line-break' + <td>CJK (Japanese) + <tr><td>'text-autospace' + <td>CJK + <tr><td>'text-autospace': ''punctuation'' + <td>European (French) + <tr><td>'text-justify': ''inter-cluster'' + <td>Southeast Asian + <tr><td>'text-justify': ''inter-ideograph'', ''distribute'' + <td>CJK + <tr><td>'text-justify': ''inter-word'' + <td>Western, African, Middle-Eastern, Indic + <tr><td>'text-justify': ''kashida'' + <td>Arabic + <tr><td>'text-emphasis-style' + <td>CJK + <tr><td>'text-emphasis-color' + <td>CJK + <tr><td>'text-emphasis-position' + <td>CJK + <tr><td>'text-transform': ''capitalize'', ''uppercase'', ''lowercase'' + <td>Western + <tr><td>'text-transform': ''fullwidth'', ''fullsize-kana'' + <td>CJK + <tr><td>'text-trim' + <td>CJK + <tr><td>'text-underline-position': ''auto'' + <td>CJK + <tr><td>'word-break' + <td>CJK (Korean) + <tr><td>'word-spacing' + <td>Western, African, Middle-Eastern, Indic + </tbody> + </table> + + <p class="issue">Additional information / corrections on this table are welcome.</p> + +<h2 class="no-num" id="default-stylesheet">Appendix D: Default UA Stylesheet</h2> + + <p>This appendix is informative, and is to help UA developers to implement default stylesheet, but UA developers are free to ignore or change.</p> <div class="example"> @@ -4226,7 +4299,7 @@ <!-- --> emphasis marks should only apply to base text */ <!-- -->rt { text-emphasis: none; } <!-- --> -<!-- -->:root:lang(zh) { +<!-- -->:root:lang(zh), [lang|=zh] { <!-- -->/* default emphasis mark position is 'under' for Chinese */ <!-- --> text-emphasis-position: under; <!-- -->} @@ -4237,7 +4310,82 @@ please send the information to <a href="mailto:www-style@w3.org">www-style@w3.org</a> with <kbd>[css3-text]</kbd> in the subject line.</p> -<h2 class="no-num" id="index">Index</h2> +<h2 class="no-num">Appendix E: Categorization of Scripts</h2> + +<p><em>This appendix is informative (non-normative).</em></p> + +<p>This appendix categorizes some common scripts in Unicode 6.0 according +to the <a href="#script-groups">categorization given above</a>. + +<dl> + <dt>block scripts</dt> + <dd> + Bopomofo, + Han, + Hangul, + Hiragana, + Katakana, + Yi + <dt>clustered scripts</dt> + <dd> + Khmer, + Lao, + Myanmar, + Thai + <span class="issue">This list is likely incomplete. What else fits here?</span> + <dt>connected scripts</dt> + <dd> + Bengali, + Brahmi, + Devanagari, + Gujarati, + Gurmukhi, + Kannada, + Malayalam, + Oriya?, + Ogham, + Tamil, + Telugu + <dt>cursive scripts</dt> + <dd> + Arabic, + Mongolian, + N'Ko?, + Phags Pa?, + Syriac + <dt>discrete scripts</dt> + <dd> + Armenian, + Bamum?, + Braille, + Canadian Aboriginal, + Cherokee, + Coptic, + Cyrillic, + Deseret, + Ethiopic + Greek, + Hebrew, + Kharoshthi, + Latin, + Lisu, + Osmanya, + Shavian, + Tifinagh, + Vai? +</dl> + +<p>UAs should treat unrecognized scripts as <i>discrete</i>. + +<p class="issue">This listing should ideally be exhaustive wrt Unicode. +Please <a href="#status">send</a> suggestions and corrections to the CSS +Working Group. (As described <a href="#script-groups">above</a>, the +grouping is primarily based on justification behavior.)</p> + +<h2 class="no-num">Appendix F: Full Property Index</h2> +<!-- properties --> + +<h2 class="no-num" id="index">Appendix I: Index</h2> <!--index--> </body>
Received on Saturday, 19 March 2011 07:41:32 UTC