8383
8484 < h1 > CSS Text Level 3</ h1 >
8585
86- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 19 April 2011</ h2 >
86+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 20 April 2011</ h2 >
8787
8888 < dl >
8989 < dt > This version:
9090
9191 < dd > < a href ="http://dev.w3.org/csswg/css3-text/Overview.html "> $Date:
92- 2011/04/19 17:16:46 $ (CVS $Revision$)</ a > <!--
93- <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110419 /">http://www.w3.org/TR/2011/WD-css3-text-20110419 /</a></dd>
92+ 2011/04/19 18:25:14 $ (CVS $Revision$)</ a > <!--
93+ <dd><a href="http://www.w3.org/TR/2011/WD-css3-text-20110420 /">http://www.w3.org/TR/2011/WD-css3-text-20110420 /</a></dd>
9494 -->
9595
9696
@@ -3573,88 +3573,120 @@ <h3 id=text-spacing-prop><span class=secno>9.3. </span> <a
35733573 < td > specified value
35743574 </ table >
35753575
3576- < p > This property determines spacing between two characters classes. The
3577- spacing may either be created or trimmed. Values are defined as follows:
3576+ < p > This property controls spacing between adjacent characters within the
3577+ same inline formatting context using a set of character-class-based rules.
3578+ Such spacing can either be created between or trimmed from the affected
3579+ glyphs. Values are defined as follows:
35783580
35793581 < dl >
35803582 < dt > < dfn id =normal5 title ="text-spacing:normal "> normal</ dfn >
35813583
3582- < dd > Trim (kern) the blank half of fullwidth closing punctuation at the end
3583- of each line if it does not otherwise fit prior to justification.</ dd >
3584- <!--
3585- <dd>Equivalent to ‘<code class=css>space-start allow-end justify</code>’.</dd>
3586- -->
3584+ < dd > Specifies the baseline behavior (defined below).
3585+ <!-- Equivalent to ''space-start allow-end justify'' -->
35873586
35883587 < dt > < dfn id =trim-start title ="text-spacing:trim-start "> trim-start</ dfn >
35893588
3590- < dd > Trim (kern) the blank half of fullwidth opening punctuation at the
3591- beginning of each line. </ dd >
3592- <!--
3589+ < dd > Set fullwidth opening punctuation flush at the start of each line. The
3590+ UA must trim the blank half of fullwidth punctuation glyphs if necessary.
3591+ <!--
35933592 <dt><dfn title="text-spacing:space-start">space-start</dfn></dt>
3594- <dd>Do not trim the blank half of fullwidth opening punctuation at
3595- the beginning of each line.</dd>
3593+ <dd>Set fullwidth opening punctuation at full width at the start
3594+ of each line. The UA must blank space to fullwidth
3595+ punctuation if they are not already full width.
35963596 -->
3597- <!--
3597+ <!--
35983598 <dt><dfn title="text-spacing:allow-end">allow-end</dfn></dt>
3599- <dd>Trim (kern) the blank half of fullwidth closing punctuation at
3600- the end of each line if it does not otherwise fit prior to
3601- justification.</dd>
3599+ <dd>Set fullwidth closing punctuation flush at the end of each
3600+ line if it does not otherwise fit prior to justification.
3601+ The UA must trim the blank half of fullwidth punctuation
3602+ glyphs if necessary.
36023603 -->
3604+
36033605
36043606 < dt > < dfn id =trim-end title ="text-spacing:trim-end "> trim-end</ dfn >
36053607
3606- < dd > Trim (kern) the blank half of fullwidth closing punctuation at the end
3607- of each line .
3608+ < dd > Set fullwidth closing punctuation flush at the end of each line. The
3609+ UA must trim the blank half of fullwidth punctuation glyphs if necessary .
36083610
3609- < dt > < dfn id =space-end title ="text-spacing:keep -end "> space-end</ dfn >
3611+ < dt > < dfn id =space-end title ="text-spacing:space -end "> space-end</ dfn >
36103612
3611- < dd > Do not trim the blank half of fullwidth closing punctuation at the end
3612- of each line.
3613-
3614- < dt > < dfn id =no-justify title ="text-spacing:no-justify "> no-justify</ dfn >
3615-
3616- < dd > The blank portions of fullwidth punctuation must not be trimmed during
3617- the justification process. (If this value is not specified, the
3618- justification process may trim the blank portions of fullwidth
3619- punctuation glyphs.) < span class =note > An example of compression rules is
3620- given for Japanese in 3.8 Line Adjustment in < a href ="#JLREQ "
3621- rel =biblioentry > [JLREQ]<!--{{JLREQ}}--> </ a > .</ span >
3613+ < dd > Set fullwidth opening punctuation at full width at the start of each
3614+ line. The UA must add blank space to fullwidth punctuation if they are
3615+ not already full width.
36223616
36233617 < dt > < dfn id =ideograph-alpha
36243618 title ="text-spacing:ideograph-alpha "> ideograph-alpha</ dfn >
36253619
36263620 < dd > Creates 1/4em extra spacing between runs of ideographic letters and
36273621 non-ideographic letters, such as Latin-based, Cyrillic, Greek, Arabic or
3628- Hebrew. < span class =note > A commonly used algorithm for determining this
3629- behavior is specified in < a href ="#JLREQ "
3622+ Hebrew. Unless ‘< code class =css > no-justify</ code > ’ is also
3623+ specified, this autospacing may be altered by the justification process.
3624+ < span class =note > A commonly used algorithm for determining this behavior
3625+ is specified in < a href ="#JLREQ "
36303626 rel =biblioentry > [JLREQ]<!--{{JLREQ}}--> </ a > </ span >
36313627
36323628 < dt > < dfn id =ideograph-numeric
36333629 title ="text-spacing:ideograph-numeric "> ideograph-numeric</ dfn >
36343630
36353631 < dd > Creates 1/4em extra spacing between runs of ideographic letters and
3636- non-ideographic numeric glyphs. < span class =note > A commonly used
3637- algorithm for determining this behavior is specified in < a href ="#JLREQ "
3638- rel =biblioentry > [JLREQ]<!--{{JLREQ}}--> </ a > </ span >
3632+ non-ideographic numeric glyphs. Unless ‘< code
3633+ class =css > no-justify</ code > ’ is also specified, this autospacing
3634+ may be altered by the justification process. < span class =note > A commonly
3635+ used algorithm for determining this behavior is specified in < a
3636+ href ="#JLREQ " rel =biblioentry > [JLREQ]<!--{{JLREQ}}--> </ a > </ span >
36393637
36403638 < dt > < dfn id =punctuation title ="text-spacing:punctuation "> punctuation</ dfn >
36413639
36423640
36433641 < dd > Creates extra non-breaking spacing around punctuation as required by
3644- language-specific typographic conventions. For example , if the element's
3642+ language-specific typographic conventions. In CSS3 , if the element's
36453643 content language is French, narrow no-break space (U+202F) and no-break
3646- space (U+00A0) should be inserted where required by < a
3644+ space (U+00A0) is be inserted where required by < a
36473645 href ="http://unicode.org/udhr/n/notes_fra.html "> French typographic
3648- guidelines</ a > .
3646+ guidelines</ a > . Otherwise this value has no effect. However future
3647+ specifications may add automatic spacing behavior for other languages.
3648+
3649+ < dt > < dfn id =no-justify title ="text-spacing:no-justify "> no-justify</ dfn >
3650+
3651+ < dd > Justification may not alter text-spacing. (If this value is not
3652+ specified, the justification process may alter autospacing.) < span
3653+ class =note > An example of compression rules is given for Japanese in 3.8
3654+ Line Adjustment in < a href ="#JLREQ "
3655+ rel =biblioentry > [JLREQ]<!--{{JLREQ}}--> </ a > .</ span >
36493656 </ dl >
36503657
3651- < p > In all cases, the UA must trim (kern) the blank half of fullwidth
3652- opening punctuation if its previous adjacent character is a fullwidth
3653- opening punctuation, fullwidth middle dot punctuation, fullwidth closing
3654- punctuation, or ideographic space (U+3000). It must also trim (kern) the
3655- blank half of fullwidth closing punctuation if its next adjacent character
3656- is a fullwidth closing punctuation, fullwidth middle dot punctuation, or
3657- ideographic space (U+3000).
3658+ < p > In the baseline behavior the UA must:
3659+
3660+ < ul >
3661+ < li > Set fullwidth opening punctuation at full width at the start of each
3662+ line. (This can require adding space to punctuation glyphs.) This
3663+ behavior can be overridden by specifying ‘< code
3664+ class =css > trim-start</ code > ’.
3665+
3666+ < li > Set fullwidth closing punctuation flush at the end of each line if it
3667+ does not otherwise fit prior to justification. (This can require trimming
3668+ the blank half of fullwidth punctuation glyphs.) This behavior can be
3669+ overridden by specifying ‘< code class =css > space-end</ code > ’
3670+ or ‘< code class =css > trim-end</ code > ’.
3671+
3672+ < li > Set fullwidth opening punctuation at half width if the previous
3673+ character is a fullwidth opening punctuation, fullwidth middle dot
3674+ punctuation, fullwidth closing punctuation, or ideographic space
3675+ (U+3000). Else set it at full width and, unless ‘< code
3676+ class =css > no-justify</ code > ’ is specified, allow justification to
3677+ alter this spacing.
3678+
3679+ < li > Set fullwidth closing punctuation at half width if the previous
3680+ character is a fullwidth closing punctuation, fullwidth middle dot
3681+ punctuation, or ideographic space (U+3000). Else set it at full width
3682+ and, unless ‘< code class =css > no-justify</ code > ’ is specified,
3683+ allow justification to alter this spacing.
3684+ </ ul >
3685+
3686+ < p > Depending on the font system, text-spacing may require either trimming
3687+ (kerning) the blank half of fullwidth punctuation glyphs (if they must be
3688+ set flush / at half width), or adding 1/2em of space to the glyphs (if
3689+ they must be set at full width). When set at full width
36583690
36593691 < div class =example >
36603692 < p > The following example table lists the punctuation pairs affected by
@@ -3815,11 +3847,10 @@ <h3 id=text-spacing-prop><span class=secno>9.3. </span> <a
38153847 </ ul >
38163848 </ dl >
38173849
3818- < p > Fullwidth opening and closing punctuation must not be trimmed if the
3819- glyph is not actually fullwidth. This includes the case where the glyph is
3820- not fullwidth as a result of the kerning in the font. A fullwidth glyph is
3821- one that has the same advance width as a typical Han character in the same
3822- font.
3850+ < p > Fullwidth punctuation must not be trimmed if the glyph is not actually
3851+ fullwidth. This includes the case where the glyph is not fullwidth as a
3852+ result of the kerning in the font. A fullwidth glyph is one that has the
3853+ same advance width as a typical Han character in the same font.
38233854
38243855 < p > Whether fullwidth colon punctuation and fullwidth dot punctuation should
38253856 be considered fullwidth closing punctuation or fullwidth middle dot
@@ -3891,10 +3922,6 @@ <h3 id=text-spacing-prop><span class=secno>9.3. </span> <a
38913922 standard convention is often not followed.</ p >
38923923 </ div >
38933924
3894- < p > When creating extra spacing, the added width does not correspond to the
3895- insertion of additional space characters, but instead to the width
3896- increment of existing glyphs.
3897-
38983925 < p > This property is additive with the ‘< a href ="#word-spacing0 "> < code
38993926 class =property > word-spacing</ code > </ a > ’ and ‘< a
39003927 href ="#letter-spacing0 "> < code
@@ -3907,11 +3934,11 @@ <h3 id=text-spacing-prop><span class=secno>9.3. </span> <a
39073934 ‘< a href ="#word-spacing0 "> < code
39083935 class =property > word-spacing</ code > </ a > ’.
39093936
3910- < p > This property applies only to the same inline element context, and can
3911- apply across elements if in the same inline element context.
3912-
3913- < p > At element boundaries, the font size of the extra spacing is given by
3914- and rendered within the innermost element that contains the boundary .
3937+ < p > At element boundaries, the amount of extra spacing introduced between
3938+ characters is determined by and rendered within the innermost element that
3939+ contains the boundary. If the extra spacing is applied to a particular
3940+ glyph, then the spacing is determined by the innermost element containing
3941+ that glyph .
39153942
39163943 < p > Support for this property is < em > optional</ em > . It is strongly
39173944 recommended for UAs that wish to support CJK typography.
@@ -6915,9 +6942,6 @@ <h2 class=no-num id=index>Appendix I: Index</h2>
69156942 < li > text-spacing:ideograph-numeric, < a href ="#ideograph-numeric "
69166943 title ="text-spacing:ideograph-numeric "> < strong > 9.3.</ strong > </ a >
69176944
6918- < li > text-spacing:keep-end, < a href ="#space-end "
6919- title ="text-spacing:keep-end "> < strong > 9.3.</ strong > </ a >
6920-
69216945 < li > text-spacing:no-justify, < a href ="#no-justify "
69226946 title ="text-spacing:no-justify "> < strong > 9.3.</ strong > </ a >
69236947
@@ -6927,6 +6951,9 @@ <h2 class=no-num id=index>Appendix I: Index</h2>
69276951 < li > text-spacing:punctuation, < a href ="#punctuation "
69286952 title ="text-spacing:punctuation "> < strong > 9.3.</ strong > </ a >
69296953
6954+ < li > text-spacing:space-end, < a href ="#space-end "
6955+ title ="text-spacing:space-end "> < strong > 9.3.</ strong > </ a >
6956+
69306957 < li > text-spacing:trim-end, < a href ="#trim-end "
69316958 title ="text-spacing:trim-end "> < strong > 9.3.</ strong > </ a >
69326959
0 commit comments