8000 Split out scaling options into 'text-combine-mode' property. <http://… · xfq/csswg-drafts@35f2baa · GitHub
Skip to content

Commit 35f2baa

Browse files
committed
Split out scaling options into 'text-combine-mode' property. <http://lists.w3.org/Archives/Public/www-style/2011Aug/0427.html>
1 parent b047799 commit 35f2baa

2 files changed

Lines changed: 235 additions & 119 deletions

File tree

css3-writing-modes/Overview.html

Lines changed: 150 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@
3232

3333
<h1>CSS Writing Modes Module Level 3</h1>
3434

35-
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 August 2011</h2>
35+
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 26 August 2011</h2>
3636

3737
<dl>
3838
<dt>This version:
3939

4040
<dd><a
4141
href="http://dev.w3.org/csswg/css3-writing-modes/">http://dev.w3.org/csswg/css3-writing-modes/</a>
4242
<!--
43-
<dd><a href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110820">http://www.w3.org/TR/2011/ED-css3-writing-modes-20110820/</a>
43+
<dd><a href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110826">http://www.w3.org/TR/2011/ED-css3-writing-modes-20110826/</a>
4444
-->
4545

4646

@@ -156,13 +156,13 @@ <h2 class="no-num no-toc" id=status> Status of this document</h2>
156156
<li>The &lsquo;<code class=css>ascii-digits</code>&rsquo;, &lsquo;<code
157157
class=css>digits</code>&rsquo;, &lsquo;<code
158158
class=css>alpha</code>&rsquo;, &lsquo;<code
159-
class=css>latin</code>&rsquo;, &lsquo;<code
160-
class=css>alphanumeric</code>&rsquo;, &lsquo;<code
161-
class=css>compress</code>&rsquo;, &lsquo;<code
162-
class=css>no-compress</code>&rsquo;, and &lsquo;<code
163-
class=css>use-glyphs</code>&rsquo; values of &lsquo;<a
164-
href="#text-combine-horizontal"><code
159+
class=css>latin</code>&rsquo;, and &lsquo;<code
160+
class=css>alphanumeric</code>&rsquo; values of &lsquo;<a
161+
href="#text-combine-horizontal0"><code
165162
class=property>text-combine-horizontal</code></a>&rsquo;.
163+
164+
<li>The &lsquo;<a href="#text-combine-mode"><code
165+
class=property>text-combine-mode</code></a>&rsquo; property
166166
</ul>
167167

168168
<h2 class="no-num no-toc" id=Contents> Table of Contents</h2>
@@ -295,8 +295,16 @@ <h2 class="no-num no-toc" id=Contents> Table of Contents</h2>
295295
page progression direction</a>
296296

297297
<li><a href="#text-combine"><span class=secno>9. </span> Glyph
298-
Composition: the &lsquo;<code
299-
class=property>text-combine-horizontal</code>&rsquo; property</a>
298+
Composition</a>
299+
<ul class=toc>
300+
<li><a href="#text-combine-horizontal"><span class=secno>9.1. </span>
301+
Horizonal-in-Vertical Composition: the &lsquo;<code
302+
class=property>text-combine-horizontal</code>&rsquo; property</a>
303+
304+
<li><a href="#text-combine-horizontal"><span class=secno>9.2. </span>
305+
Horizonal-in-Vertical Glyph Scaling: the &lsquo;<code
306+
class=property>text-combine-mode</code>&rsquo; property</a>
307+
</ul>
300308

301309
<li class=no-num><a href="#changes">Changes</a>
302310
<ul class=toc>
@@ -2839,23 +2847,26 @@ <h2 id=page-direction><span class=secno>8. </span> Page Flow: the page
28392847
second half of a spread, e.g. on the right page in a left-to-right page
28402848
progression.)
28412849

2842-
<h2 id=text-combine><span class=secno>9. </span> Glyph Composition: the
2843-
&lsquo;<a href="#text-combine-horizontal"><code
2844-
class=property>text-combine-horizontal</code></a>&rsquo; property</h2>
2850+
<h2 id=text-combine><span class=secno>9. </span> Glyph Composition</h2>
2851+
2852+
<h3 id=text-combine-horizontal><span class=secno>9.1. </span>
2853+
Horizonal-in-Vertical Composition: the &lsquo;<a
2854+
href="#text-combine-horizontal0"><code
2855+
class=property>text-combine-horizontal</code></a>&rsquo; property</h3>
28452856

28462857
<table class=propdef>
28472858
<tbody>
28482859
<tr>
28492860
<th>Name:
28502861

2851-
<td><dfn id=text-combine-horizontal>text-combine-horizontal</dfn>
2862+
<td><dfn id=text-combine-horizontal0>text-combine-horizontal</dfn>
28522863

28532864
<tr>
28542865
<th>Value:
28552866

28562867
<td>none | all | [ [digits &lt;integer> | ascii-digits &lt;integer> ] ||
28572868
[ alpha &lt;integer> | latin &lt;integer> ] || alphanumeric
2858-
&lt;integer> ] && [ compress | [ no-compress || use-glyphs ] ]?
2869+
&lt;integer> ]
28592870

28602871
<tr>
28612872
<th>Initial:
@@ -2955,34 +2966,11 @@ <h2 id=text-combine><span class=secno>9. </span> Glyph Composition: the
29552966
and/or letters that has as many or fewer characters than the integer
29562967
given is treated as if it were in an anonymous inline box with
29572968
&lsquo;<code class=css>text-combine-horizontal: all</code>&rsquo;.
2958-
2959-
<dt><dfn id=use-glyphs
2960-
title="text-combine-horizontal:use-glyphs">use-glyphs</dfn>
2961-
2962-
<dd>If the UA has alternate-width glyphs available for the contents of the
2963-
element, then it must use those glyphs to attempt sizing the contents to
2964-
1em square. See below.
2965-
2966-
<dt><dfn id=compress
2967-
title="text-combine-horizontal:compress">compress</dfn>
2968-
2969-
<dd>Compress the composition (horizontally) as a whole until it fits
2970-
within 1em. Do not substitute alternate-width glyphs.
2971-
2972-
<dt><dfn id=no-compress
2973-
title="text-combine-horizontal:no-compress">no-compress</dfn>
2974-
2975-
<dd>Do not compress the composition or perform any glyph substitution in
2976-
order to make the composition fit within 1em. This may cause the glyphs
2977-
to overflow the line significantly. When combined with &lsquo;<code
2978-
class=css>use-glyphs</code>&rsquo;, this indicates to perform glyph
2979-
substitution if possible per &lsquo;<code
2980-
class=css>use-glyphs</code>&rsquo; but not to compress the glyphs if they
2981-
do not fit within the size constraints.
29822969
</dl>
29832970

29842971
<p class=issue>All values except &lsquo;<code class=css>all</code>&rsquo;
2985-
are marked at-risk. Which ones should we take to CR?
2972+
and &lsquo;<code class=css>none</code>&rsquo; are marked at-risk. Which
2973+
ones should we take to CR?
29862974

29872975
<p>When combining text as for &lsquo;<code
29882976
class=css>text-combine-horizontal: all</code>&rsquo;, the glyphs of the
@@ -3000,36 +2988,6 @@ <h2 id=text-combine><span class=secno>9. </span> Glyph Composition: the
30002988
composition is treated as a single glyph representing the Object
30012989
Replacement Character U+FFFC.
30022990

3003-
<p>If none of &lsquo;<code class=css>compress</code>&rsquo;, &lsquo;<code
3004-
class=css>no-compress</code>&rsquo;, or &lsquo;<code
3005-
class=css>use-glyphs</code>&rsquo; are specified and the contents are
3006-
wider than 1em, the UA must attempt to fit the contents within 1em, but
3007-
may use any method to do so.
3008-
3009-
<p>If &lsquo;<code class=css>use-glyphs</code>&rsquo; is specified the UA
3010-
must attempt to substitute narrower glyphs as necessary to make the
3011-
composition fit within 1em:
3012-
3013-
<ul>
3014-
<li>a two-character composition would use 1/2-em or proportional glyphs
3015-
3016-
<li>a three-character composition would use 1/3-em glyphs (if the font
3017-
supports this feature, else fall back to 1/2-em or proportional glyphs)
3018-
3019-
<li>etc.
3020-
</ul>
3021-
3022-
<p>Since even fonts that have fractional-width glyphs available do not have
3023-
such glyphs for all characters, if &lsquo;<code
3024-
class=css>no-compress</code>&rsquo; is not specified, the UA must ensure
3025-
the expected advance width for &lsquo;<code
3026-
class=css>use-glyphs</code>&rsquo; by either compressing or padding
3027-
(equally on both sides) each glyph individually if it does not match the
3028-
required advance width. If &lsquo;<code
3029-
class=css>no-compress</code>&rsquo; is specified, then the UA must not
3030-
attempt to adjust the width of the glyph even if it differs from the
3031-
expected dimension. This may cause the combined text to overflow.
3032-
30332991
<p>In some fonts, the ideographic glyphs are given a compressed design such
30342992
that they are 1em wide but shorter than 1em tall. To accommodate such
30352993
fonts, the UA may vertically scale the contents of the composition to
@@ -3049,7 +3007,7 @@ <h2 id=text-combine><span class=secno>9. </span> Glyph Composition: the
30493007

30503008
<div class=example>
30513009
<p>In East Asian documents, the &lsquo;<a
3052-
href="#text-combine-horizontal"><code
3010+
href="#text-combine-horizontal0"><code
30533011
class=css>text-combine-horizontal</code></a>&rsquo; effect is often used
30543012
to display Latin-based strings such as components of a date or letters of
30553013
an initialism, always in a horizontal writing mode regardless of the
@@ -3097,6 +3055,106 @@ <h2 id=text-combine><span class=secno>9. </span> Glyph Composition: the
30973055
</div>
30983056
</div>
30993057

3058+
<h3 id=text-combine-horizontal><span class=secno>9.2. </span>
3059+
Horizonal-in-Vertical Glyph Scaling: the &lsquo;<a
3060+
href="#text-combine-mode"><code
3061+
class=property>text-combine-mode</code></a>&rsquo; property</h3>
3062+
3063+
<table class=propdef>
3064+
<tbody>
3065+
<tr>
3066+
<th>Name:
3067+
3068+
<td><dfn id=text-combine-mode>text-combine-mode</dfn>
3069+
3070+
<tr>
3071+
<th>Value:
3072+
3073+
<td>auto | compress | [ no-compress || use-glyphs ]
3074+
3075+
<tr>
3076+
<th>Initial:
3077+
3078+
<td>none
3079+
3080+
<tr>
3081+
<th>Applies to:
3082+
3083+
<td>non-replaced inline elements
3084+
3085+
<tr>
3086+
<th>Inherited:
3087+
3088+
<td>yes
3089+
3090+
<tr>
3091+
<th>Percentages:
3092+
3093+
<td>N/A
3094+
3095+
<tr>
3096+
<th>Media:
3097+
3098+
<td>visual
3099+
3100+
<tr>
3101+
<th>Computed&#160;value:
3102+
3103+
<td>specified value
3104+
</table>
3105+
3106+
<p>This property controls how multiple characters are combined into the
3107+
space of a single character when specified to do so via &lsquo;<< 2B0 /span>a
3108+
href="#text-combine-horizontal0"><code
3109+
class=property>text-combine-horizontal</code></a>&rsquo;. Values have the
3110+
following meanings:
3111+
3112+
<dl>
3113+
<dt><dfn id=auto title="text-combine-mode:auto">auto</dfn>
3114+
3115+
<dd>If the contents are wider than 1em, the UA must attempt to fit the
3116+
contents within 1em, but may use any method to do so.
3117+
3118+
<dt><dfn id=compress title="text-combine-mode:compress">compress</dfn>
3119+
3120+
<dd>Compress the composition (horizontally) as a whole until it fits
3121+
within 1em. Do not substitute alternate-width glyphs.
3122+
3123+
<dt><dfn id=use-glyphs
3124+
title="text-combine-mode:use-glyphs">use-glyphs</dfn>
3125+
3126+
<dd>Attempt to substitute narrower glyphs as necessary to make the
3127+
composition fit within 1em:
3128+
<ul>
3129+
<li>a two-character composition uses 1/2-em or proportional glyphs
3130+
3131+
<li>a three-character composition uses 1/3-em glyphs (if the font
3132+
supports this feature, else fall back to 1/2-em or proportional glyphs)
3133+
3134+
3135+
<li>etc.
3136+
</ul>
3137+
3138+
<p>Since even fonts that have fractional-width glyphs available do not
3139+
have such glyphs for all characters, the UA must ensure the expected
3140+
advance width for &lsquo;<code class=css>use-glyphs</code>&rsquo; by
3141+
either compressing or padding (equally on both sides) each glyph
3142+
individually if it does not match the required advance width. (This step
3143+
does not apply if &lsquo;<code class=css>no-compress</code>&rsquo; is
3144+
specified.)
3145+
3146+
<dt><dfn id=no-compress
3147+
title="text-combine-mode:no-compress">no-compress</dfn>
3148+
3149+
<dd>Do not compress the composition or perform any glyph substitution in
3150+
order to make the composition fit within 1em. When combined with
3151+
&lsquo;<code class=css>use-glyphs</code>&rsquo;, however, this indicates
3152+
to perform glyph substitution if possible per &lsquo;<code
3153+
class=css>use-glyphs</code>&rsquo; but not to compress the glyphs if they
3154+
do not fit the size requirements. This value may cause the glyphs to
3155+
overflow the line significantly.
3156+
</dl>
3157+
31003158
<h2 class=no-num id=changes>Changes</h2>
31013159

31023160
<h3 class=no-num id=recent-changes> Changes from the <a
@@ -3135,7 +3193,7 @@ <h3 class=no-num id=recent-changes> Changes from the <a
31353193
href="#vertical-typesetting-details">synthesis rules</a>, etc.
31363194

31373195
<li>Renamed &lsquo;<code class=property>text-combine</code>&rsquo;
3138-
property to &lsquo;<a href="#text-combine-horizontal"><code
3196+
property to &lsquo;<a href="#text-combine-horizontal0"><code
31393197
class=property>text-combine-horizontal</code></a>&rsquo; and added
31403198
ability to auto-combine by character classes. Added many more details on
31413199
how to compose horizontal-in-vertical text.
@@ -3435,9 +3493,9 @@ <h2 class=no-num id=vertical-typesetting-details>Appendix C: Vertical
34353493
of these are present, the font is considered to have vertical font
34363494
settings available.
34373495

3438-
<p class=issue>It is a Unicode error that ScriptExt.txt does not include
3439-
the Aegean and Common Indic characters listed above as exceptions; they
3440-
shouldn't need special treatment once this is fixed.
3496+
<p class=issue>It is a Unicode error that ScriptExtensions.txt does not
3497+
include the Aegean and Common Indic characters listed above as exceptions;
3498+
they shouldn't need special treatment once this is fixed.
34413499

34423500
<h2 class=no-num id=intrinsic-sizing>Appendix D: Intrinsic Dimensions</h2>
34433501

@@ -4041,11 +4099,26 @@ <h2 class=no-num id=property-index> Property Index</h2>
40414099

40424100
<tr>
40434101
<th><a class=property
4044-
href="#text-combine-horizontal">text-combine-horizontal</a>
4102+
href="#text-combine-horizontal0">text-combine-horizontal</a>
40454103

40464104
<td>none | all | [ [digits &lt;integer> | ascii-digits &lt;integer> ] ||
40474105
[ alpha &lt;integer> | latin &lt;integer> ] || alphanumeric
4048-
&lt;integer> ] && [ compress | [ no-compress || use-glyphs ] ]?
4106+
&lt;integer> ]
4107+
4108+
<td>none
4109+
4110+
<td>non-replaced inline elements
4111+
4112+
<td>yes
4113+
4114+
<td>N/A
4115+
4116+
<td>visual
4117+
4118+
<tr>
4119+
<th><a class=property href="#text-combine-mode">text-combine-mode</a>
4120+
4121+
<td>auto | compress | [ no-compress || use-glyphs ]
40494122

40504123
<td>none
40514124

0 commit comments

Comments
 (0)