- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 21 Jul 2011 20:00:32 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-text In directory hutz:/tmp/cvs-serv549 Modified Files: Overview.html Overview.src.html Log Message: Try to make spec easier to read by using 'character' instead of 'grapheme cluster' (and adding a redefinition for precision) Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.html,v retrieving revision 1.152 retrieving revision 1.153 diff -u -d -r1.152 -r1.153 --- Overview.html 20 Jul 2011 19:22:27 -0000 1.152 +++ Overview.html 21 Jul 2011 20:00:29 -0000 1.153 @@ -84,14 +84,14 @@ <h1>CSS Text Level 3</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 July 2011</h2> + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 21 July 2011</h2> <dl> <dt>This version: <dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date: - 2011/07/14 22:57:51 $ (CVS $Revision$)</a> <!-- [...1712 lines suppressed...] - title=word-spacing><strong>9.1.</strong></a> + title=word-spacing><strong>8.1.</strong></a> <li>word-wrap, <a href="#word-wrap0" - title=word-wrap><strong>7.2.</strong></a> + title=word-wrap><strong>6.2.</strong></a> <li>word-wrap:break-word, <a href="#break-word" - title="word-wrap:break-word"><strong>7.2.</strong></a> + title="word-wrap:break-word"><strong>6.2.</strong></a> <li>word-wrap:hyphenate, <a href="#hyphenate" - title="word-wrap:hyphenate"><strong>7.2.</strong></a> + title="word-wrap:hyphenate"><strong>6.2.</strong></a> <li>word-wrap:normal, <a href="#normal3" - title="word-wrap:normal"><strong>7.2.</strong></a> + title="word-wrap:normal"><strong>6.2.</strong></a> </ul> <!--end-index--> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.src.html,v retrieving revision 1.250 retrieving revision 1.251 diff -u -d -r1.250 -r1.251 --- Overview.src.html 20 Jul 2011 19:22:27 -0000 1.250 +++ Overview.src.html 21 Jul 2011 20:00:30 -0000 1.251 @@ -205,72 +205,11 @@ Report: Text Boundaries [[!UAX29]]. This specification uses the <em>extended grapheme cluster</em> definition in [[!UAX29]] (not the <em>legacy grapheme cluster</em> definition). The UA may further - tailor the definition as allowed by Unicode. - -<h2 id="conformance"> - Conformance</h2> - - <p>Conformance requirements are expressed with a combination of - descriptive assertions and RFC 2119 terminology. The key words “MUST”, - “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, - “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this - document are to be interpreted as described in RFC 2119. - However, for readability, these words do not appear in all uppercase - letters in this specification. All of the text of this specification is - normative except sections explicitly marked as non-normative, examples, - and notes. [[!RFC2119]]</p> - - <p>Examples in this specification are introduced with the words “for example” - or are set apart from the normative text with <code>class="example"</code>, - like this: - - <div class="example"> - <p>This is an example of an informative example.</p> - </div> - - <p>Informative notes begin with the word “Note” and are set apart from the - normative text with <code>class="note"</code>, like this: - - <p class="note">Note, this is an informative note.</p> - - <p>Conformance to CSS Text Level 3 is defined for three conformance classes:</p> - - <dl> - <dt><dfn title="style sheet!!as conformance class">style sheet</dfn> - <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#style-sheet">CSS - style sheet</a>. - <dt><dfn>renderer</dfn></dt> - <dd>A UA that interprets the semantics of a style sheet and renders - <span>documents</span> that use them. - <dt><dfn id="authoring-tool">authoring tool</dfn></dt> - <dd>A UA that writes a style sheet. - </dl> - - <p>A style sheet is conformant to CSS Text Level 3 - if all of its declarations that use properties defined in this module - have values that are valid according to the generic CSS grammar and the - individual grammars of each property as given in this module. - - <p>A renderer is conformant to CSS Text Level 3 - if, in addition to interpreting the style sheet as defined by the - appropriate specifications, it supports all the properties defined - by CSS Text Level 3 by parsing them correctly - and rendering the document accordingly. However, the inability of a - UA to correctly render a document due to limitations of the device - does not make the UA non-conformant. (For example, a UA is not - required to render color on a monochrome monitor.) - - <p>An authoring tool is conformant to CSS Text - Level 3 if it writes syntactically correct style sheets, according - to the generic CSS grammar and the individual grammars of each - property in this module.</p> - - <h3 id="partial-impl"> - Partial and Experimental Implementations</h3> - - <p>UAs must treat as invalid any properties or values they do not support. - Experimental implementations of a feature should support only a - vendor-prefixed syntax for the property/value.</p> + tailor the definition as allowed by Unicode. Within this specification, + the ambiguous term <dfn>character</dfn> is used as a friendlier synonym + for <i>grapheme cluster</i>. + See <a href="http://dev.w3.org/csswg/css3-writing-modes/#character-properties">Characters and Properties</a> + for how to determine the Unicode properties of a character. <h2 id="transforming"> Transforming Text</h2> @@ -325,7 +264,7 @@ <dt><dfn title="text-transform:none"><code>none</code></dfn></dt> <dd>No effects.</dd> <dt><dfn title="text-transform:capitalize"><code>capitalize</code></dfn></dt> - <dd>Puts the first character of each word in titlecase; other characters + <dd>Puts the first <i>character</i> of each word in titlecase; other characters are unaffected.</dd> <dt><dfn title="text-transform:uppercase"><code>uppercase</code></dfn></dt> <dd>Puts all characters in uppercase.</dd> @@ -385,9 +324,8 @@ </ol> <p>Text transformation happens after <a href="#white-space-rules">white - space processing</a>. (This only matters when ''full-width'' transforms - U+0020 space characters to U+3000.) <span class="issue">This requirement - may need to be relaxed during CR, so mark at-risk.</span> + space processing</a>, which means that ''full-width'' transforms + only preserved U+0020 spaces to U+3000. <div class="example"> <p>The following example converts the ASCII characters in abbreviations @@ -1012,7 +950,7 @@ <dt><dfn title="word-break:normal"><code>normal</code></dfn></dt> <dd>Break lines according to their usual rules.</dd> <dt><dfn title="word-break:break-all"><code>break-all</code></dfn></dt> - <dd>Lines may break between any two grapheme clusters within words. + <dd>Lines may break between any two characters within words. Hyphenation is not applied. This option is used mostly in a context where the text is predominantly using CJK characters with few non-CJK excerpts and it is desired that the text be better distributed on each line.</dd> @@ -2039,17 +1977,17 @@ spaces, like English or (sometimes) Korean.</dd> <dt><dfn title="text-justify:inter-ideographic"><code>inter-ideograph</code></dfn></dt> <dd>Justification primarily changes spacing at word separators and - between grapheme clusters in <a href="#block-scripts">block scripts</a>. + between characters in <a href="#block-scripts">block scripts</a>. This value is typically used for <abbr title="Chinese/Japanese/Korean">CJK</abbr> languages.</dd> <dt><dfn title="text-justify:inter-cluster"><code>inter-cluster</code></dfn></dt> <dd>Justification primarily changes spacing at word separators and - between grapheme clusters in <a href="#clustered-scripts">clustered + between characters in <a href="#clustered-scripts">clustered scripts</a>. This value is typically used for Southeast Asian scripts such as Thai.</dd> <dt><dfn title="text-justify:distribute"><code>distribute</code></dfn></dt> <dd>Justification primarily changes spacing both at word - separators and between grapheme clusters in all scripts equally + separators and between characters in all scripts equally (except those in 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> @@ -2189,8 +2127,7 @@ <p id="auto-justify">* The ''auto'' column defined above is informative; it suggests a prioritization that presents a universal compromise among justification methods.</p> - <p>An expansion opportunity between two - <a href="#grapheme-cluster">grapheme clusters</a> is assigned to a + <p>An expansion opportunity between two <i>characters</i> is assigned to a priority level when at least one of them belongs to a script category at that level and the other does not belong to a higher priority level. @@ -2231,7 +2168,7 @@ stretch of Arabic will not be forced to soak up too much of the extra space by itself. If the UA does not support cursive elongation, then, as with connected scripts, no expansion points exist between - grapheme clusters of these scripts. + characters of these scripts. <p>The UA may enable or break optional ligatures or use other font features such as alternate glyphs or glyph compression to help @@ -2313,7 +2250,7 @@ Normal minimum, maximum, and optimal spacing between a pair of <a href="#connected-scripts">connected</a> or <a href="#cursive-scripts">cursive</a> - <a href="#grapheme-cluster">grapheme clusters</a> is always zero. + characters is always zero. </dd> <dt><dfn title="<spacing-limit>:<length>|<percentage>"><code><a class="noxref" href="http://www.w3.org/TR/CSS21/syndata.html#value-def-length"><span class="value-inst-length"><length></span></a> or @@ -2447,7 +2384,7 @@ </table> <p>This property specifies the minimum, maximum, and optimal spacing - between <a href="#grapheme-cluster">grapheme clusters</a>. + between <i>characters</i>. If only one value is specified, then it represents all three values. If two values are specified, then the first represents both the optimal spacing and the minimum spacing, and the second @@ -2491,13 +2428,13 @@ </div> <p>UAs may apply letter-spacing to cursive scripts. In this case, UAs - should extend the space between disjoint graphemes as specified above + should extend the space between disjoint characters as specified above <em>and</em> extend the visible connection between cursively connected - graphemes by the same amount (rather than leaving a gap). The UA may + characters by the same amount (rather than leaving a gap). The UA may use glyph substitution or other font capabilities to spread out the letters. If the UA cannot expand a cursive script without breaking the cursive connections, it should not apply letter-spacing between - grapheme clusters of that script at all.</p> + characters of that script at all.</p> <p>When the resulting space between two characters is not the same as the default space, user agents should not use optional ligatures.</p> @@ -3707,7 +3644,7 @@ 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>Display the given string as marks. - Authors should not specify more than one grapheme cluster in <string>. + Authors should not specify more than one <i>character</i> in <string>. The UA may truncate or ignore strings consisting of more than one grapheme cluster.</dd> </dl> @@ -3730,10 +3667,10 @@ which is specially designed for the emphasis marks.</p> </div> - <p>The marks are drawn once for each grapheme cluster. However, - emphasis marks are not drawn for a grapheme cluster consisting of:</p> + <p>The marks are drawn once for each <i>character</i>. However, + emphasis marks are not drawn for characters that are:</p> <ul> - <li><a href="#word-separator">Word separators</a> or characters + <li><a href="#word-separator">Word separators</a> or that belonging to the Unicode separator classes (Z*). (But note that emphasis marks <em>are</em> drawn for a space that combines with any combining characters.)</li> @@ -3742,11 +3679,11 @@ <li>Characters designated by 'text-emphasis-skip'.</li> </ul> - <p>If emphasis marks are drawn for grapheme clusters + <p>If emphasis marks are drawn for characters for which ruby is drawn in the same position as the emphasis mark, the ruby should be stacked between the emphasis marks and the base text. In this case, the position of the emphasis marks for a given element - should be determined as if all grapheme clusters have ruby boxes + should be determined as if all characters have ruby boxes of the same height as the highest ruby box in the element. If the UA is not capable of drawing ruby and emphasis marks on the same side, the UA may hide ruby and draw only emphasis marks.</p> @@ -3908,7 +3845,7 @@ <dd>Draw marks to the left of the text in vertical typographic mode.</dd> </dl> - <p>Emphasis marks are drawn exactly as if each grapheme cluster was + <p>Emphasis marks are drawn exactly as if each character was assigned the mark as its ruby annotation text with the ruby position given by 'text-emphasis-position' and the ruby alignment as centered. @@ -4352,8 +4289,8 @@ space between letters. <i>Connected</i> scripts must not space between letters (typically because that would break the connections or otherwise look bad). - <li>If the script primarily expands equally between its grapheme - clusters in native typesettings, it is either <i>block</i> or + <li>If the script primarily expands equally between its "letters" + in native typesettings, it is either <i>block</i> or <i>clustered</i>. The exact classification depends on whether it always spaces when mixed with CJK and sometimes stays together when mixed with Thai and related scripts (<i>block</i>) or
Received on Thursday, 21 July 2011 20:00:33 UTC