8000 More rewriting for 'text-justify' · w3c/csswg-drafts@0b9c671 · GitHub
Skip to content

Commit 0b9c671

Browse files
committed
More rewriting for 'text-justify'
1 parent 059a361 commit 0b9c671

2 files changed

Lines changed: 129 additions & 110 deletions

File tree

css3-text/Overview.html

Lines changed: 75 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@
8484

8585
<h1>CSS Text Level 3</h1>
8686

87-
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 21 July 2011</h2>
87+
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 22 July 2011</h2>
8888

8989
<dl>
9090
<dt>This version:
9191

9292
<dd><a href="http://dev.w3.org/csswg/css3-text/Overview.html">$Date:
93-
2011/07/21 20:53:38 $ (CVS $Revision$)</a> <!--
94-
<dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110721/">http://www.w3.org/TR/2011/WD-css3-text-20110721/</a></dd>
93+
2011/07/21 21:11:13 $ (CVS $Revision$)</a> <!--
94+
<dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110722/">http://www.w3.org/TR/2011/WD-css3-text-20110722/</a></dd>
9595
-->
9696

9797

@@ -513,6 +513,11 @@ <h2 id=intro><span class=secno>1. </span> Introduction</h2>
513513
and Properties</a> for how to determine the Unicode properties of a
514514
character.
515515

516+
<p id=letter>A <dfn id=letter0>letter</dfn> for the purpose of this
517+
specification is a <a href="#character"><i>character</i></a> belonging to
518+
one of the Letter or Number general categories in Unicode. <a
519+
href="#UAX44" rel=biblioentry>[UAX44]<!--{{!UAX44}}--></a>
520+
516521
<h2 id=transforming><span class=secno>2. </span> Transforming Text</h2>
517522

518523
<h3 id=text-transform><span class=secno>2.1. </span> <a name=caps-prop></a>
@@ -2801,7 +2806,7 @@ <h3 id=text-justify><span class=secno>7.3. </span> Justification Method:
28012806

28022807
<dd>Justification primarily changes spacing at word separators. This value
28032808
is typically used for languages that separate words using spaces, like
2804-
English or (sometimes) Korean.
2809+
English or Korean.
28052810

28062811
<dt><dfn id=inter-ideograph
28072812
title="text-justify:inter-ideographic"><code>inter-ideograph</code></dfn>
@@ -2878,9 +2883,12 @@ <h3 id=text-justify><span class=secno>7.3. </span> Justification Method:
28782883
href="#text-justify0"><code class=property>text-justify</code></a>&rsquo;
28792884
are given in the table below. Since justification behavior varies by
28802885
writing system, expansion opportunities are organized by <a
2881-
href="#script-groups">script categories</a>. All scripts in the same
2882-
priority level must be treated exactly the same. Word separators (spaces)
2883-
and punctuation may be treated specially, see below.
2886+
href="#script-groups">script categories</a>. An expansion opportunity
2887+
exists between two <i>letters</i> at a priority level when at least one of
2888+
them belongs to a script category at that level and the other does not
2889+
belong to a higher priority level. All scripts in the same priority level
2890+
must be treated exactly the same. Word separators (spaces) and other
2891+
symbols and punctuation are treated specially, see below.
28842892

28852893
<table class=data>
28862894
<caption>Prioritization of Expansion Points</caption>
@@ -2902,21 +2910,6 @@ <h3 id=text-justify><span class=secno>7.3. </span> Justification Method:
29022910
<th>&lsquo;<code class=css>auto</code>&rsquo;
29032911

29042912
<tbody>
2905-
<tr>
2906-
<th scope=row>spaces
2907-
2908-
<td><strong>1</strong>
2909-
2910-
<td><strong>1</strong>
2911-
2912-
<td><strong>1</strong>
2913-
2914-
<td><strong>1</strong>
2915-
2916-
<td>2
2917-
2918-
<td><strong>1</strong>*
2919-
29202913
<tr>
29212914
<th scope=row><a href="#block-scripts">block</a>
29222915

@@ -2992,63 +2985,78 @@ <h3 id=text-justify><span class=secno>7.3. </span> Justification Method:
29922985

29932986
<td>never
29942987

2988+
<tbody>
2989+
<tr>
2990+
<th scope=row>spaces
2991+
2992+
<td><strong>1</strong>
2993+
2994+
<td><strong>1</strong>
2995+
2996+
<td><strong>1</strong>
2997+
2998+
<td><strong>1</strong>
2999+
3000+
<td>2
3001+
3002+
<td><strong>1</strong>*
3003+
29953004
<tr>
2996-
<th scope=row>punctuation
3005+
<th scope=row>symbols
29973006

29983007
<td>2
29993008

30003009
<td><strong>1</strong>
30013010

30023011
<td><strong>1</strong>
30033012

3004-
<td><span class=issue>???</span>
3013+
<td><strong>1</strong>
30053014

30063015
<td>3
30073016

30083017
<td>*
30093018
</table>
30103019

3011-
<p id=auto-justify>* The &lsquo;<code class=css>auto</code>&rsquo; column
3012-
defined above is informative; it suggests a prioritization that presents a
3013-
universal compromise among justification methods.
3020+
<p id=auto-justify><small>* The &lsquo;<code class=css>auto</code>&rsquo;
3021+
column defined above is informative; it suggests a prioritization that
3022+
presents a universal compromise among justification methods.</small>
30143023

3015-
<p>An expansion opportunity between two <i>characters</i> is assigned to a
3016-
priority level when at least one of them belongs to a script category at
3017-
that level and the other does not belong to a higher priority level.
3018-
3019-
<p>The <dfn id=spaces title=spaces-category>spaces</dfn> category
3020-
represents expansion opportunities at spaces and other <a
3024+
<p id=justify-spaces>The <dfn id=spaces title=spaces-category>spaces</dfn>
3025+
category represents expansion opportunities at <a
30213026
href="#word-separator">word separators</a>. (See <a
30223027
href="#word-spacing">&lsquo;<code
3023-
class=property>word-spacing</code>&rsquo;</a>.)
3024-
3025-
<p>The <dfn id=punctuation-symbols>punctuation</dfn> category represents
3026-
the expansion opportunities existing at or between any pair of characters
3027-
from the Unicode symbols (S*) and punctuation (P*) classes and at enabled
3028-
<a href="#text-autospace">autospace</a> points. <span class=issue>the
3029-
relationship of expansion opportunity and &lsquo;<a
3030-
href="#text-spacing"><code class=property>text-spacing</code></a>&rsquo;
3031-
needs more review</span>
3032-
3033-
<p>The justification priority of points in the spaces and punctuation
3034-
categories is roughly defined above: there may be additional rules
3035-
controlling their justification behavior due to typographic tradition. The
3036-
UA may introduce additional levels of prioritization to handle expansion
3037-
opportunities involving word separators and punctuation. For example,
3028+
class=property>word-spacing</code>&rsquo;</a>.) The UA may treat spaces
3029+
differently than other expansion points in the same priority, but must not
3030+
change their priority with respect to expansion points in other priority
3031+
levels. For example, in Japanese &lsquo;<code
3032+
class=css>inter-ideograph</code>&rsquo; justification (which treats CJK
3033+
characters at a higher priority than Latin characters), word spaces
3034+
traditionally have a higher priority than inter-CJK spacing, and the UA
3035+
may split the 1st-priority level to implement that. However the UA is not
3036+
allowed to drop spaces to the same priority as Latin characters.
3037+
3038+
<p id=justify-symbols>The <dfn id=punctuation-symbols>symbols</dfn>
3039+
category represents the expansion opportunities existing at or between any
3040+
pair of characters from the Unicode Symbols (S*) and Punctuation (P*)
3041+
classes and at enabled <a href="#text-autospace">autospace</a> points. The
3042+
default justification priority of these points is given above. However,
3043+
there may be additional rules controlling their justification behavior due
3044+
to typographic tradition. Therefore, the UA may reassign specific
3045+
characters or introduce additional levels of prioritization to handle
3046+
expansion opportunities involving symbols and punctuation. For example,
30383047
there are traditionally no expansion opportunities between consecutive EM
30393048
DASH U+2014, HORIZONTAL BAR U+2015, HORIZONTAL ELLIPSIS U+2026, or TWO DOT
30403049
LEADER U+2025 characters <a href="#JLREQ"
3041-
rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a>. As another example, in
3042-
Japanese &lsquo;<code class=css>inter-ideograph</code>&rsquo;
3043-
justification (which treats CJK characters at a higher priority than Latin
3044-
characters), word spaces have a higher priority than inter-CJK spacing.
3045-
3046-
<p>For <i>cursive</i> expansion, words may be expanded through kashida
3047-
elongation or other cursive expansion processes. Kashida may be applied in
3048-
discrete units or continuously, and the prioritization of kashida points
3049-
is UA-dependent: for example, the UA may apply more at the end of the
3050-
line. The UA should not apply kashida to fonts for which it is
3051-
inappropriate. It may instead rely on other justification methods that
3050+
rel=biblioentry>[JLREQ]<!--{{JLREQ}}--></a>; thus a UA may assign these
3051+
characters to the "never" prioritization level.
3052+
3053+
<p id=justify-cursive>For justification of <a
3054+
href="#cursive-scripts0"><i>cursive scripts</i></a>, words may be expanded
3055+
through kashida elongation or other cursive expansion processes. Kashida
3056+
may be applied in discrete units or continuously, and the prioritization
3057+
of kashida points is UA-dependent: for example, the UA may apply more at
3058+
the end of the line. The UA should not apply kashida to fonts for which it
3059+
is inappropriate. It may instead rely on other justification methods that
30523060
lengthen or shorten Arabic segments (e.g. by substituting in swash forms
30533061
or optional ligatures). Because elongation rules depend on the typeface
30543062
style, the UA should rely on on the font whenever possible rather than
@@ -4890,7 +4898,7 @@ <h4 id=text-emphasis-style><span class=secno>10.2.1. </span> Emphasis Mark
48904898
drawn for characters that are:
48914899

48924900
<ul>
4893-
<li><a href="#word-separator">Word separators</a> or that belonging to the
4901+
<li><a href="#word-separator">Word separators</a> or that belong to the
48944902
Unicode separator classes (Z*). (But note that emphasis marks
48954903
<em>are</em> drawn for a space that combines with any combining
48964904
characters.)
@@ -5673,9 +5681,8 @@ <h2 class=no-num id=traditions>Appendix C: Cultural Correlations</h2>
56735681

56745682
<tr>
56755683
<td>&lsquo;<a href="#text-spacing"><code
5676-
class=property>text-spacing</code></a>&rsquo;: &lsquo;<a
5677-
href="#punctuation-symbols"><code
5678-
class=css>punctuation</code></a>&rsquo;
5684+
class=property>text-spacing</code></a>&rsquo;: &lsquo;<code
5685+
class=css>punctuation</code>&rsquo;
56795686

56805687
<td>European (French)
56815688

@@ -7027,6 +7034,8 @@ <h2 class=no-num id=index>Appendix I: Index</h2>
70277034
<li>Ideographs, <a href="#ideographs"
70287035
title=Ideographs><strong>8.3.2.</strong></a>
70297036

7037+
<li>letter, <a href="#letter0" title=letter><strong>1.</strong></a>
7038+
70307039
<li>letter-spacing, <a href="#letter-spacing0"
70317040
title=letter-spacing><strong>8.2.</strong></a>
70327041

@@ -7066,9 +7075,6 @@ <h2 class=no-num id=index>Appendix I: Index</h2>
70667075
<li>&lt;percentage&gt;, <a href="#ltlengthgt-or-ltpercentagegt"
70677076
title="&lt;percentage&gt;"><strong>8.</strong></a>
70687077

7069-
<li>punctuation, <a href="#punctuation-symbols"
7070-
title=punctuation><strong>7.3.</strong></a>
7071-
70727078
<li>&lt;shadow&gt;, <a href="#ltshadowgt"
70737079
title="&lt;shadow&gt;"><strong>10.3.</strong></a>
70747080

@@ -7088,6 +7094,9 @@ <h2 class=no-num id=index>Appendix I: Index</h2>
70887094
<li>&lsquo;<code class=css>spread</code>&rsquo;, <a href="#spread"
70897095
title="''spread''"><strong>5.5.</strong></a>
70907096

7097+
<li>symbols, <a href="#punctuation-symbols"
7098+
title=symbols><strong>7.3.</strong></a>
7099+
70917100
<li>tab-size, <a href="#tab-size0"
70927101
title=tab-size><strong>3.2.</strong></a>
70937102

0 commit comments

Comments
 (0)