Skip to content

Commit 8f21b0b

Browse files
author
John Daggett
committed
revised vertical-position
1 parent ba616a8 commit 8f21b0b

1 file changed

Lines changed: 124 additions & 29 deletions

File tree

css3-fonts/Fonts.html

Lines changed: 124 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,14 @@
111111

112112
<h1>CSS Fonts Module Level 3</h1>
113113

114-
<h2 class="no-num no-toc" id=editors>Editor's Draft 24 February 2011</h2>
114+
<h2 class="no-num no-toc" id=editors>Editor's Draft 1 March 2011</h2>
115115

116116
<dl id=authors>
117117
<dt>This version:
118118

119119
<dd><a
120120
href="http://dev.w3.org/csswg/css3-fonts/">http://dev.w3.org/csswg/css3-fonts/</a>
121-
<!-- <dd><a href="http://www.w3.org/TR/2011/ED-css3-fonts-20110224">http://www.w3.org/TR/2011/ED-css3-fonts-20110224</a> -->
121+
<!-- <dd><a href="http://www.w3.org/TR/2011/ED-css3-fonts-20110301">http://www.w3.org/TR/2011/ED-css3-fonts-20110301</a> -->
122122

123123

124124
<dt>Latest version:
@@ -2770,16 +2770,24 @@ <h3 id=font-style-matching><span class=secno>5.1 </span>Matching font
27702770
<h3 id=char-handling-issues><span class=secno>5.2 </span>Character handling
27712771
issues</h3>
27722772

2773-
<p>The procedure above does not assume that text runs are in either
2774-
normalized or denormalized form <a href="#UAX15"
2775-
rel=biblioentry>[UAX15]<!--{{!UAX15}}--></a>. Layout engines often convert
2776-
base character plus combining character sequences into precomposed
2777-
codepoints if they exist. Fonts can generally support both ways of
2778-
matching characters but variations can occur. Authors should always tailor
2779-
their choice of fonts to their content, including whether that content
2780-
contains normalized or denormalized character streams.
2781-
2782-
<p>If a text run contains variation selectors, special handling is
2773+
<p>The procedure above is always performed on text runs containing Unicode
2774+
characters, documents using legacy encodings are assumed to have been
2775+
transcoded before matching fonts. For fonts containing character maps for
2776+
both legacy encodings and Unicode, the contents of the legacy encoding
2777+
character map must have no effect on the results of the font matching
2778+
process.
2779+
2780+
<p>The font matching process does not assume that text runs are in either
2781+
normalized or denormalized form (see <a href="#CHARMOD-NORM"
2782+
rel=biblioentry>[CHARMOD-NORM]<!--{{!CHARMOD-NORM}}--></a> for more
2783+
details). Layout engines often convert base character plus combining
2784+
character sequences into precomposed characters if they exist. Fonts can
2785+
generally support both ways of matching characters but variations can
2786+
occur. Authors should always tailor their choice of fonts to their
2787+
content, including whether that content contains normalized or
2788+
denormalized character streams.
2789+
2790+
<p>If a text run contains Unicode variation selectors, special handling is
27832791
required. For each character + variation selector pair, if the first font
27842792
with a glyph for the base character also contains a glyph for the variant
27852793
specified by the variation selector, user agents must display the variant
@@ -3104,18 +3112,73 @@ <h3 id=vertical-position-prop><span class=secno>6.4 </span>Subscript,
31043112

31053113
<p class=issue>Issue: the name for this feature has been a point of
31063114
contention. The name used here is taken from the AAT feature name but the
3107-
eventual name for this is still under discussion.
3115+
eventual name may change.
31083116

31093117
<p>The values ‘<code class=property>subscript</code>’, ‘<code
3110-
class=property>superscript</code>’ and ‘<code
3118+
class=property>superscript</code>, and ‘<code
31113119
class=property>ordinal</code>’ imply the appropriate variant glyph is
31123120
displayed when available in the font (OpenType features: <code>subs, supr,
3113-
ordn</code>). When a variant glyph is not available, a simulated version
3114-
is synthesized using a reduced form of the default glyph. Normal implies
3115-
use of the default glyph at normal size. When the value is anything other
3116-
than ‘<code class=property>normal</code>’, the font-size and
3117-
vertical-align properties are set to ‘<code
3118-
class=property>inherit</code>’.</p>
3121+
ordn</code>). Because of the semantic nature of subscripts and
3122+
superscripts, when the value is either ‘<code
3123+
class=property>subscript</code>’ or ‘<code
3124+
class=property>superscript</code>’ and a variant glyph is not available,
3125+
a simulated glyph is synthesized using a reduced form of the default
3126+
glyph. If the value is ‘<code class=property>ordinal</code>’ and a
3127+
variant glyph is not available, the normal glyph is used, no attempt is
3128+
made to synthesize one. A value of ‘<code
3129+
class=property>normal</code>’ implies use of the default glyph at normal
3130+
size.
3131+
3132+
<p>In the past, user agents have used font-size and vertical-align to
3133+
simulate subscripts and superscripts for the <code>sub</code> and
3134+
<code>sup</code> elements. To allow a backwards combatible way of defining
3135+
subscripts and superscripts, when the value is either ‘<code
3136+
class=property>subscript</code>’ or ‘<code
3137+
class=property>superscript</code>’, the property acts as a shorthand and
3138+
resets the value of the font-size and vertical-align properties to
3139+
<code class=property>inherit</code>’. Other than this, the property
3140+
does not affect the height of the line box.
3141+
3142+
<div class=example>
3143+
<p>A typical user agent default style for the <code>sub</code> element:</p>
3144+
3145+
<pre>sub {
3146+
vertical-align: sub;
3147+
font-size: smaller;
3148+
line-height: normal;
3149+
}
3150+
</pre>
3151+
3152+
<p>Using vertical-position to specify typographic subscripts in a way that
3153+
will still show subscripts in older user agents:</p>
3154+
3155+
<pre>sub {
3156+
vertical-align: sub;
3157+
font-size: smaller;
3158+
line-height: normal;
3159+
vertical-position: subscript;
3160+
}
3161+
</pre>
3162+
3163+
<p>User agents that support the ‘<code class=property><a
3164+
href="#propdef-vertical-position">vertical-position</a></code>
3165+
property will select a subscript variant glyph and reset vertical-align
3166+
and font-size to ‘<code class=property>inherit</code>’. Older user
3167+
agents will ignore the vertical-position property definition and use the
3168+
standard defaults for subscripts.</p>
3169+
</div>
3170+
3171+
<p>Note that because this property is not cumulative, it's not suitable for
3172+
nested subscripts or superscripts. Due to this limitation,
3173+
vertical-position is not recommended for use in user agent stylesheets.
3174+
3175+
<p>In the case of OpenType fonts that lack subscript or superscript glyphs,
3176+
to calculate the size and offset of the synthesized substitutes user
3177+
agents must use the appropriate subscript and superscript metrics
3178+
specified in the selected font's <a
3179+
href="http://www.microsoft.com/typography/otspec/os2.htm#subxs">OS/2
3180+
table</a> <a href="#OPENTYPE"
3181+
rel=biblioentry>[OPENTYPE]<!--{{OPENTYPE}}--></a>.</p>
31193182
<!-- prop: font-variant-ligatures -->
31203183

31213184
<h3 id=font-variant-ligatures-prop><span class=secno>6.5 </span>Ligatures:
@@ -4547,13 +4610,33 @@ <h3 class=no-num id=normative-references>Normative References</h3>
45474610
</dd>
45484611
<!---->
45494612

4613+
<dt id=CHARMOD>[CHARMOD]
4614+
4615+
<dd>Martin J. Dürst; et al. <a
4616+
href="http://www.w3.org/TR/2005/REC-charmod-20050215"><cite>Character
4617+
Model for the World Wide Web 1.0: Fundamentals.</cite></a> 15 February
4618+
2005. W3C Recommendation. URL: <a
4619+
href="http://www.w3.org/TR/2005/REC-charmod-20050215">http://www.w3.org/TR/2005/REC-charmod-20050215</a>
4620+
</dd>
4621+
<!---->
4622+
4623+
<dt id=CHARMOD-NORM>[CHARMOD-NORM]
4624+
4625+
<dd>François Yergeau; et al. <a
4626+
href="http://www.w3.org/TR/2005/WD-charmod-norm-20051027"><cite>Character
4627+
Model for the World Wide Web 1.0: Normalization.</cite></a> 27 October
4628+
2005. W3C Working Draft. (Work in progress.) URL: <a
4629+
href="http://www.w3.org/TR/2005/WD-charmod-norm-20051027">http://www.w3.org/TR/2005/WD-charmod-norm-20051027</a>
4630+
</dd>
4631+
<!---->
4632+
45504633
<dt id=CORS>[CORS]
45514634

45524635
<dd>Anne van Kesteren. <a
4553-
href="http://www.w3.org/TR/2010/WD-cors-20100727"><cite>Cross-Origin
4636+
href="http://www.w3.org/TR/2010/WD-cors-20100727/"><cite>Cross-Origin
45544637
Resource Sharing.</cite></a> 27 July 2010. W3C Working Draft. (Work in
45554638
progress.) URL: <a
4556-
href="http://www.w3.org/TR/2010/WD-cors-20100727">http://www.w3.org/TR/2010/WD-cors-20100727</a>
4639+
href="http://www.w3.org/TR/2010/WD-cors-20100727/">http://www.w3.org/TR/2010/WD-cors-20100727/</a>
45574640
</dd>
45584641
<!---->
45594642

@@ -4598,19 +4681,20 @@ <h3 class=no-num id=normative-references>Normative References</h3>
45984681
<dt id=UAX15>[UAX15]
45994682

46004683
<dd>Mark Davis. <a
4601-
href="http://www.unicode.org/reports/tr15/"><cite>Unicode Normalization
4602-
Forms.</cite></a> 17 September 2010. Unicode Standard Annex #15. URL: <a
4603-
href="http://www.unicode.org/reports/tr15/">http://www.unicode.org/reports/tr15/</a>
4684+
href="http://www.unicode.org/reports/tr15/tr15-33.html"><cite>Unicode
4685+
Normalization Forms.</cite></a> 17 September 2010. Unicode Standard Annex
4686+
#15. URL: <a
4687+
href="http://www.unicode.org/reports/tr15/tr15-33.html">http://www.unicode.org/reports/tr15/tr15-33.html</a>
46044688
</dd>
46054689
<!---->
46064690

46074691
<dt id=UAX29>[UAX29]
46084692

46094693
<dd>Mark Davis. <a
4610-
href="http://www.unicode.org/reports/tr29/"><cite>Unicode Text
4611-
Segmentation.</cite></a> 8 October 2010. Unicode Standard Annex #29. URL:
4612-
<a
4613-
href="http://www.unicode.org/reports/tr29/">http://www.unicode.org/reports/tr29/</a>
4694+
href="http://www.unicode.org/reports/tr29/tr29-17.html"><cite>Unicode
4695+
Text Segmentation.</cite></a> 8 October 2010. Unicode Standard Annex #29.
4696+
URL: <a
4697+
href="http://www.unicode.org/reports/tr29/tr29-17.html">http://www.unicode.org/reports/tr29/tr29-17.html</a>
46144698
</dd>
46154699
<!---->
46164700

@@ -4634,6 +4718,8 @@ <h3 class=no-num id=normative-references>Normative References</h3>
46344718
<!--{{!UAX29}}-->
46354719
<!--{{!CORS}}-->
46364720
<!--{{!HTML5}}-->
4721+
<!--{{!CHARMOD}}-->
4722+
<!--{{!CHARMOD-NORM}}-->
46374723

46384724
<h3 class=no-num id=other-references>Other References</h3>
46394725
<!--begin-informative-->
@@ -4674,6 +4760,15 @@ <h3 class=no-num id=other-references>Other References</h3>
46744760
ISBN 1-932026-01-0.</dd>
46754761
<!---->
46764762

4763+
<dt id=OPENTYPE>[OPENTYPE]
4764+
4765+
<dd><a
4766+
href="http://www.microsoft.com/typography/otspec/default.htm"><cite>OpenType
4767+
specification.</cite></a> Microsoft. URL: <a
4768+
href="http://www.microsoft.com/typography/otspec/default.htm">http://www.microsoft.com/typography/otspec/default.htm</a>
4769+
</dd>
4770+
<!---->
4771+
46774772
<dt id=OPENTYPE-FONT-GUIDE>[OPENTYPE-FONT-GUIDE]
46784773

46794774
<dd><a

0 commit comments

Comments
 (0)