- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 28 Jan 2011 01:27:37 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-text In directory hutz:/tmp/cvs-serv16150 Modified Files: Overview.html Overview.src.html Log Message: Move script group definitions to intro so they're available to other parts of the draft Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.html,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Overview.html 28 Jan 2011 00:50:19 -0000 1.39 +++ Overview.html 28 Jan 2011 01:27:35 -0000 1.40 @@ -220,6 +220,10 @@ <ul class=toc> <li><a href="#intro"><span class=secno>1. </span> Introduction</a> + <ul class=toc> + <li><a href="#script-groups"><span class=secno>1.1. </span>Script + Groups</a> + </ul> <li><a href="#conformance"><span class=secno>2. </span> Conformance</a> <ul class=toc> @@ -264,8 +268,8 @@ and Word Boundaries</a> <ul class=toc> <li><a href="#line-break"><span class=secno>5.1. </span> Line Breaking - Restrictions Strictness: the ‘<code - class=property>line-break</code>’ property</a> + Strictness: the ‘<code class=property>line-break</code>’ + property</a> <li><a href="#word-break"><span class=secno>5.2. </span> Word Breaking Rules: the ‘<code class=property>word-break</code>’ @@ -452,6 +456,51 @@ <p>[document here] + <h3 id=script-groups><span class=secno>1.1. </span>Script Groups</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. + + <dl> + <dt id=block-scripts><dfn id=block-scripts0>block scripts</dfn> + + <dd>CJK (including Hangul and half-width kana) and by extension all "wide" + characters. (See <a href="#UAX11" + rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>) + + <dt id=clustered-scripts><dfn id=clustered-scripts0>clustered + scripts</dfn> + + <dd>South-East Asian scripts that have discrete units but do not use space + between words (such as Thai, Lao, Khmer, Myanmar). This category also + includes the Tibetan script. + + <dt id=discrete-scripts><dfn id=discrete-scripts0>discrete scripts</dfn> + + <dd>Scripts that use spaces or visible word-separating punctuation between + words and have discrete, unconnected (in print) units within words, such + as Latin, Greek, Ethiopic, Cyrillic, Hebrew. + + <dt id=cursive-scripts><dfn id=cursive-scripts0>cursive scripts</dfn> + + <dd>Arabic and similar cursive scripts. + + <dt id=connected-scripts><dfn id=connected-scripts0>connected + scripts</dfn> + + <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 other Indic scripts whose typographic behavior is + similar to Devanagari. + </dl> + + <p class=issue>Provide an appendix using Unicode script names. + + <p class=note>These definitions are used primarily in describing <a + href="#line-breaking">line-breaking</a> and <a + href="#text-justify">justification</a> behavior. + <h2 id=conformance><span class=secno>2. </span> Conformance</h2> <p>Conformance requirements are expressed with a combination of descriptive @@ -1155,61 +1204,10 @@ scripts well. Additionally, some guidance should be provided on how to break or not break Southeast Asian in the absence of a dictionary. - <h3 id=line-break><span class=secno>5.1. </span> Line Breaking Restrictions - Strictness: the ‘<a href="#line-break0"><code + <h3 id=line-break><span class=secno>5.1. </span> Line Breaking Strictness: + the ‘<a href="#line-break0"><code class=property>line-break</code></a>’ property</h3> - <p>This property specifies the strictness of line-breaking rules: - particularly how line-breaking interacts with punctuation. - - <p>CSS distinguishes between three levels of strictness in the rules for - implicit line breaking. The precise set of rules in effect for the - ‘<code class=css>strict</code>’ and ‘<code - class=css>loose</code>’ levels is up to the UA and should follow - language conventions. However, this specification does recommend that: - - <ul> - <li>Following breaks be forbidden in ‘<code - class=css>strict</code>’ line breaking and allowed in ‘<code - class=css>normal</code>’: - <ul> - <li>breaks before Japanese small kana - - <li>breaks before the KATAKANA-HIRAGANA PROLONGED SOUND MARK (U+30FC) - </ul> - Additionally, if the language is known to be Chinese or Japanese, breaks - before hyphens (U+2010, U+2013, U+301C, U+30A0) may be allowed in - ‘<code class=css>normal</code>’. - - <li>Following breaks be forbidden in ‘<code - class=css>normal</code>’ and ‘<code - class=css>strict</code>’ line breaking and allowed in ‘<code - class=css>loose</code>’: - <ul> - <li>breaks before iteration marks (U+3005, U+303B, U+309D, U+309E, - U+30FD, U+30FE) - - <li>breaks between inseparatable characters (U+2014, U+2025, U+2026, - U+3033, U+3034, U+3035) - </ul> - If the language is known to be Chinese or Japanese, then additionally the - following breaks may be allowed in ‘<code - class=css>loose</code>’: - <ul> - <li>breaks before middle dots (U+003A, U+003B, U+30FB, U+FF1A, U+FF1B, - U+FF65) - - <li>breaks before dividing punctuation marks (U+0021, U+003F, U+203C, - U+2047, U+2048, U+2049, U+FF01, U+FF1F) - - <li>breaks before postfixes (U+0025, U+00A2, U+00B0, U+2030, U+2032, - U+2033, U+2103, U+FF05, U+FFE0) - - <li>breaks after prefixes (U+0024, U+00A3, U+00A5, U+20AC, U+2116, - U+FF04, U+FFE1, U+FFE5) - </ul> - </ul> - <table class=propdef> <tbody> <tr> @@ -1253,8 +1251,9 @@ <td>specified value </table> - <p>This property specifies what set of line breaking restrictions are in - effect within the element. Values have the following meanings: + <p>This property specifies the strictness of line-breaking rules applied + within an element: particularly how line-breaking interacts with + punctuation. Values have the following meanings: <dl> <dt><dfn id=auto title="line-break:auto"><code>auto</code></dfn> @@ -1277,6 +1276,53 @@ <dd>Breaks text using the most stringent set of line-breaking rules. </dl> + <p>CSS distinguishes between three levels of strictness in the rules for + implicit line breaking. The precise set of rules in effect for each level + is up to the UA and should follow language conventions. However, this + specification does recommend that: + + <ul> + <li>Following breaks be forbidden in ‘<code + class=css>strict</code>’ line breaking and allowed in ‘<code + class=css>normal</code>’: + <ul> + <li>breaks before Japanese small kana + + <li>breaks before the KATAKANA-HIRAGANA PROLONGED SOUND MARK (U+30FC) + </ul> + Additionally, if the language is known to be Chinese or Japanese, breaks + before hyphens (U+2010, U+2013, U+301C, U+30A0) may be allowed in + ‘<code class=css>normal</code>’. + + <li>Following breaks be forbidden in ‘<code + class=css>normal</code>’ and ‘<code + class=css>strict</code>’ line breaking and allowed in ‘<code + class=css>loose</code>’: + <ul> + <li>breaks before iteration marks (U+3005, U+303B, U+309D, U+309E, + U+30FD, U+30FE) + + <li>breaks between inseparatable characters (U+2014, U+2025, U+2026, + U+3033, U+3034, U+3035) + </ul> + If the language is known to be Chinese or Japanese, then additionally the + following breaks may be allowed in ‘<code + class=css>loose</code>’: + <ul> + <li>breaks before middle dots (U+003A, U+003B, U+30FB, U+FF1A, U+FF1B, + U+FF65) + + <li>breaks before dividing punctuation marks (U+0021, U+003F, U+203C, + U+2047, U+2048, U+2049, U+FF01, U+FF1F) + + <li>breaks before postfixes (U+0025, U+00A2, U+00B0, U+2030, U+2032, + U+2033, U+2103, U+FF05, U+FFE0) + + <li>breaks after prefixes (U+0024, U+00A3, U+00A5, U+20AC, U+2116, + U+FF04, U+FFE1, U+FFE5) + </ul> + </ul> + <h3 id=word-break><span class=secno>5.2. </span> Word Breaking Rules: the ‘<a href="#word-break0"><code class=property>word-break</code></a>’ property</h3> @@ -2521,8 +2567,8 @@ class=css>inter-ideograph</code>’ for CJK, or ‘<code class=css>inter-word</code>’ for English. Another possibility is to use a justification method that is a universal compromise for all - scripts, e.g. the ‘<code class=css>distribute</code>’ method - with discrete scripts dropped to second priority.</p> + scripts, e.g. the ‘<code class=css>inter-cluster</code>’ + method with block scripts raised to first priority.</p> <dt><dfn id=none2 title="text-justify:none"><code>none</code></dfn> @@ -2563,8 +2609,8 @@ <dt><a name=kashida-prop></a><a name=text-kashida-space></a> <dfn id=kashida title="text-justify:kashida"><code>kashida</code></dfn> - <dd>Justification primarily stretches Arabic and related scripts through - the use of kashida or other calligraphic elongation. + <dd>Justification primarily stretches <a href="#cursive-scripts">cursive + scripts</a> through the use of kashida or other calligraphic elongation. </dl> <p>When justifying text, the user agent takes the remaining space between @@ -2580,44 +2626,6 @@ be followed when any justification method other than ‘<code class=property>auto</code>’ is specified. - <p>Justification affects different types of writing systems in different - ways. For justification purposes, characters are grouped as follows: - - <dl> - <dt id=block-scripts>block - - <dd>CJK (including Hangul and half-width kana) and by extension all "wide" - characters. (See <a href="#UAX11" - rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>) - - <dt id=clustered-scripts>clustered - - <dd>South-East Asian scripts that have discrete units but do not use space - between words (such as Thai, Lao, Khmer, Myanmar). This category also - includes the Tibetan script. - - <dt id=discrete-scripts>discrete - - <dd>Scripts that use spaces or visible word-separating punctuation between - words and have discrete, unconnected (in print) units within words, such - as Latin, Greek, Ethiopic, Cyrillic, Hebrew. - - <dt id=cursive-scripts>cursive - - <dd>Arabic and similar cursive scripts - - <dt id=connected-scripts>connected - - <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 other Indic scripts whose typographic behavior is - similar to Devanagari. - </dl> - - <p>The UA may enable or break optional ligatures or use other font features - such as alternate glyphs to help justify the text under any method. This - behavior is not defined by CSS. - <p id=expansion-opportunity>CSS defines <dfn id=expansion-opportunities>expansion opportunities</dfn> as points where the justification algorithm may alter spacing within the text. These @@ -2627,7 +2635,7 @@ lower priority expansion opportunities are adjusted. (Expansion and compression limits are given by the <a href="#letter-spacing">letter-spacing</a> and <a - href="#word-spacing">word-spacing</a> properties. + href="#word-spacing">word-spacing</a> properties.) <p>How any remaining space is distributed once all expansion opportunities reach their limits is up to the UA. If the inline contents of a line @@ -2647,8 +2655,10 @@ are given in the table below. Space must be distributed evenly among all types of expansion opportunities in a given prioritization group, but may vary within a line due to changes in the font or letter-spacing and - word-spacing values. The different types of expansion opportunities are - defined as follows: + 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 expansion + opportunities are defined as follows: <dl> <dt>spaces @@ -2979,6 +2989,10 @@ <p class=note>The ‘<code class=css>auto</code>’ column defined above is informative. + <p>The UA may enable or break optional ligatures or use other font features + such as alternate glyphs to help justify the text under any method. This + behavior is not defined by CSS. + <div class=example> <p>Japanese is one of the languages for which compression is preferred to expansion in applying justification.</p> @@ -5957,12 +5971,27 @@ <li>‘<code class=css>below right</code>’, <a href="#below-right" title="''below right''"><strong>11.1.6.</strong></a> + <li>block scripts, <a href="#block-scripts0" title="block + scripts"><strong>1.1.</strong></a> + + <li>clustered scripts, <a href="#clustered-scripts0" title="clustered + scripts"><strong>1.1.</strong></a> + <li>collapsible, <a href="#collapsible" title=collapsible><strong>4.2.</strong></a> <li>‘<code class=css>column</code>’, <a href="#column" title="''column''"><strong>6.4.</strong></a> + <li>connected scripts, <a href="#connected-scripts0" title="connected + scripts"><strong>1.1.</strong></a> + + <li>cursive scripts, <a href="#cursive-scripts0" title="cursive + scripts"><strong>1.1.</strong></a> + + <li>discrete scripts, <a href="#discrete-scripts0" title="discrete + scripts"><strong>1.1.</strong></a> + <li><a href="#each-line"><code>each-line</code></a>, <a href="#each-line" title=each-line><strong>10.1.</strong></a> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-text/Overview.src.html,v retrieving revision 1.134 retrieving revision 1.135 diff -u -d -r1.134 -r1.135 --- Overview.src.html 28 Jan 2011 00:53:33 -0000 1.134 +++ Overview.src.html 28 Jan 2011 01:27:35 -0000 1.135 @@ -189,6 +189,41 @@ <p>[document here]</p> + <h3 id="script-groups">Script Groups</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. + + <dl> + <dt id="block-scripts"><dfn>block scripts</dfn></dt> + <dd>CJK (including Hangul and half-width kana) and by extension all + "wide" characters. (See [[!UAX11]])</dd> + <dt id="clustered-scripts"><dfn>clustered scripts</dfn></dt> + <dd>South-East Asian scripts that have discrete units but do not + use space between words (such as Thai, Lao, Khmer, Myanmar). + This category also includes the Tibetan script.</dd> + <dt id="discrete-scripts"><dfn>discrete scripts</dfn></dt> + <dd>Scripts that use spaces or visible word-separating + punctuation between words and have discrete, + unconnected (in print) units within words, such as Latin, + Greek, Ethiopic, Cyrillic, Hebrew.</dd> + <dt id="cursive-scripts"><dfn>cursive scripts</dfn></dt> + <dd>Arabic and similar cursive scripts.</dd> + <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 + other Indic scripts whose typographic behavior is similar to + Devanagari.</dd> + </dl> + + <p class="issue">Provide an appendix using Unicode script names.</p> + + <p class="note">These definitions are used primarily in describing + <a href="#line-breaking">line-breaking</a> and + <a href="#text-justify">justification</a> behavior. + <h2 id="conformance"> Conformance</h2> @@ -1802,8 +1837,8 @@ appropriate value for the language, like ''inter-ideograph'' for CJK, or ''inter-word'' for English. Another possibility is to use a justification method that is a - universal compromise for all scripts, e.g. the ''distribute'' method - with discrete scripts dropped to second priority.</p> + universal compromise for all scripts, e.g. the ''inter-cluster'' + method with block scripts raised to first priority.</p> </dd> <dt><dfn title="text-justify:none"><code>none</code></dfn></dt> <dd>Justification is disabled. @@ -1830,8 +1865,9 @@ 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> - <dd>Justification primarily stretches Arabic and related scripts - through the use of kashida or other calligraphic elongation.</dd> + <dd>Justification primarily stretches + <a href="#cursive-scripts">cursive scripts</a> through the use of + kashida or other calligraphic elongation.</dd> </dl> <p>When justifying text, the user agent takes the remaining space between @@ -1845,36 +1881,6 @@ be followed when any justification method other than 'auto' is specified.</p> - <p>Justification affects different types of writing systems in different ways. - For justification purposes, characters are grouped as follows:</p> - - <dl> - <dt id="block-scripts">block</dt> - <dd>CJK (including Hangul and half-width kana) and by extension all - "wide" characters. (See [[!UAX11]])</dd> - <dt id="clustered-scripts">clustered</dt> - <dd>South-East Asian scripts that have discrete units but do not - use space between words (such as Thai, Lao, Khmer, Myanmar). - This category also includes the Tibetan script.</dd> - <dt id="discrete-scripts">discrete</dt> - <dd>Scripts that use spaces or visible word-separating - punctuation between words and have discrete, - unconnected (in print) units within words, such as Latin, - Greek, Ethiopic, Cyrillic, Hebrew.</dd> - <dt id="cursive-scripts">cursive</dt> - <dd>Arabic and similar cursive scripts</dd> - <dt id="connected-scripts">connected</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 - other Indic scripts whose typographic behavior is similar to - Devanagari.</dd> - </dl> - - <p>The UA may enable or break optional ligatures or use other font - features such as alternate glyphs to help justify the text under - any method. This behavior is not defined by CSS.</p> - <p id="expansion-opportunity">CSS defines <dfn>expansion opportunities</dfn> as points where the justification algorithm may alter spacing within the text. These expansion opportunities fall into priority @@ -1883,11 +1889,11 @@ expanded or compressed to their limits before lower priority expansion opportunities are adjusted. (Expansion and compression limits are given by the <a href="#letter-spacing">letter-spacing</a> - and <a href="#word-spacing">word-spacing</a> properties.</p> + and <a href="#word-spacing">word-spacing</a> properties.)</p> - <p>How any remaining space is distributed once all expansion opportunities reach their - limits is up to the UA. If the inline contents of a line cannot be - stretched to the full width of the line box, then they must be + <p>How any remaining space is distributed once all expansion opportunities + reach their limits is up to the UA. If the inline contents of a line + cannot be stretched to the full width of the line box, then they must be aligned as specified by the 'text-align-last' property. (If 'text-align-last' is ''justify'', then they must be aligned as for ''center'' if 'text-justify' is ''distribute'' and as ''start'' @@ -1897,8 +1903,10 @@ are given in the table below. Space must be distributed evenly among all types of expansion opportunities in a given prioritization group, but may vary within a line due to changes in the font or - letter-spacing and word-spacing values. - The different types of expansion opportunities are defined as follows:</p> + 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 + expansion opportunities are defined as follows:</p> <dl> <dt>spaces</dt> @@ -2149,6 +2157,10 @@ <p class="note">The ''auto'' column defined above is informative.</p> + <p>The UA may enable or break optional ligatures or use other font + features such as alternate glyphs to help justify the text under + any method. This behavior is not defined by CSS.</p> + <div class="example"> <p>Japanese is one of the languages for which compression is preferred to expansion in applying justification.</p> <p>3.8 Line Adjustment in [[JLREQ]] gives an example of a set of rules for
Received on Friday, 28 January 2011 01:27:39 UTC