Skip to content

Commit 14eb372

Browse files
author
John Daggett
committed
update font-variant-position definition
1 parent cb9d3ee commit 14eb372

2 files changed

Lines changed: 77 additions & 52 deletions

File tree

css3-fonts/Fonts.html

Lines changed: 77 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,15 @@
120120

121121
<h1>CSS Fonts Module Level 3</h1>
122122

123-
<h2 class="no-num no-toc" id=editors-draft-18-may-2012>Editor's Draft 18
123+
<h2 class="no-num no-toc" id=editors-draft-24-may-2012>Editor's Draft 24
124124
May 2012</h2>
125125

126126
<dl id=authors>
127127
<dt>This version:
128128

129129
<dd><a
130130
href="http://dev.w3.org/csswg/css3-fonts/">http://dev.w3.org/csswg/css3-fonts/</a>
131-
<!-- <dd><a href="http://www.w3.org/TR/2012/ED-css3-fonts-20120518/">http://www.w3.org/TR/2012/ED-css3-fonts-20120518/</a> -->
131+
<!-- <dd><a href="http://www.w3.org/TR/2012/ED-css3-fonts-20120524/">http://www.w3.org/TR/2012/ED-css3-fonts-20120524/</a> -->
132132

133133

134134
<dt>Latest version:
@@ -383,8 +383,8 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
383383

384384
<li class=no-num><a href="#ch-ch-ch-changes">Changes</a>
385385
<ul class=toc>
386-
<li class=no-num><a href="#recent-changes"> Changes from the March 2011
387-
CSS3 Fonts Working Draft</a>
386+
<li class=no-num><a href="#recent-changes"> Changes from the October
387+
2011 CSS3 Fonts Working Draft</a>
388388
</ul>
389389

390390
<li class=no-num><a href="#acknowledgments">Acknowledgments</a>
@@ -3257,14 +3257,12 @@ <h3 id=font-variant-position-prop><span class=secno>6.4 </span>Subscript
32573257
<td>as specified
32583258
</table>
32593259

3260-
<p class=issue>The name for this feature has been a point of contention,
3261-
this name is a placeholder until the final name is resolved.
3262-
3263-
<p>This property controls the selection of alternate glyphs for use as
3264-
subscripts and superscripts. These alternate glyphs of reduced size are
3265-
positioned within the same em-box as the default glyph and explicitly
3266-
designed to match the surrounding text and make the them more readable
3267-
without affecting the linebox.
3260+
<p>This property is used to enable typographic subscript and superscript
3261+
glyphs. These are alternate glyphs designed within the same em-box as
3262+
default glyphs and are intended to be laid out on the same baseline as the
3263+
default glyphs, with no resizing or repositioning of the baseline. They
3264+
are explicitly designed to match the surrounding text and to be more
3265+
readable without affecting the line height.
32683266

32693267
<div class=figure><img alt="comparison between real subscript glyphs and
32703268
synthesized ones" src=realsubscripts.png>
@@ -3275,13 +3273,18 @@ <h3 id=font-variant-position-prop><span class=secno>6.4 </span>Subscript
32753273
<p>The values ‘<code class=property>sub</code>’ and ‘<code
32763274
class=property>super</code>’ imply the appropriate variant glyph is
32773275
displayed when available in the font (OpenType features: <code>subs,
3278-
supr</code>). Because of the semantic nature of subscripts and
3279-
superscripts, when the value is either ‘<code
3280-
class=property>sub</code>’ or ‘<code class=property>super</code>
3281-
and a variant glyph is not available, a simulated glyph is synthesized
3282-
using a reduced form of the default glyph. A value of ‘<a
3283-
href="#normal2"><code class=property>normal</code></a>’ implies use of
3284-
the default glyph at normal size.
3276+
supr</code>). A value of ‘<a href="#normal2"><code
3277+
class=property>normal</code></a>’ implies neither of these alternate
3278+
glyphs are substituted.
3279+
3280+
<p>Because of the semantic nature of subscripts and superscripts, when the
3281+
value is either ‘<code class=property>sub</code>’ or ‘<code
3282+
class=property>super</code>’ for a given run of text and a variant glyph
3283+
is not available for all the characters in the run, simulated glyphs are
3284+
synthesized for all characters using reduced forms of the default glyph.
3285+
This is done to avoid a mixture of variant glyphs and synthesized ones
3286+
within the same run of text, since there is no guarantee that two types of
3287+
glyphs would be aligned correctly.
32853288

32863289
<p>In the case of OpenType fonts that lack subscript or superscript glyphs
32873290
for a given character, to calculate the size and offset of the synthesized
@@ -3297,26 +3300,39 @@ <h3 id=font-variant-position-prop><span class=secno>6.4 </span>Subscript
32973300
subscripts and superscripts, it is recommended that authors use
32983301
conditional rules <a href="#CSS3-CONDITIONAL"
32993302
rel=biblioentry>[CSS3-CONDITIONAL]<!--{{CSS3-CONDITIONAL}}--></a> so that
3300-
older user agents will still render these correctly.
3301-
3302-
<p>Note that because this property is not cumulative, it's not suitable for
3303-
nested subscripts or superscripts. Due to this limitation,
3304-
font-variant-position is not recommended for use in user agent
3305-
stylesheets.
3306-
3307-
<p class=issue>It would be nice to define this in a way such that it would
3308-
work with nested subscripts or superscripts which would allow it to be
3309-
used in user agent stylesheets. But one of the goals for this is to allow
3310-
simple subscripts and superscripts to be displayed without affecting the
3311-
line box. To achieve both appears to be a very hairy problem. One <a
3312-
href="http://lists.w3.org/Archives/Public/www-style/2011Apr/0391.html">proposal</a>
3313-
is to conditionalize how the font-size and vertical-align properties are
3314-
used based on whether subscript or superscript glyphs are available.
3315-
3316-
<p class=issue>Fonts often include default values for subscript/superscript
3317-
metrics. As a result, a mixture of designed glyphs and simulated glyphs
3318-
may not display correctly, the baseline will appear to bounce between
3319-
sequences to designed and simulated glyphs.
3303+
older user agents will still render subscripts and superscripts via the
3304+
older mechanism.
3305+
3306+
<p>Authors should note that fonts typically only provide subscript and
3307+
superscript glyphs for a subset of all characters supported by the font.
3308+
While subscripts and superscript glyphs are often available for Latin
3309+
numbers, punctuation and letter characters are less frequently supported.
3310+
The synthetic fallback rules defined for this property assure that
3311+
subscripts and superscripts will always appear but the appearance may not
3312+
match author expectations if the font used doesn't provide the appropriate
3313+
alternate glyph for all characters contained in a subscript or
3314+
superscript.
3315+
3316+
<div class=figure><img alt="alternate superscripts vs. glyphs synthesized
3317+
using superscript metrics" src=superscript-alt-synth.png>
3318+
<p class=caption>Superscript alternate glyph (left), synthesized
3319+
superscript glyphs (middle), and incorrect mixture of the two (right)
3320+
</div>
3321+
3322+
<p>This property is not cumulative, applying it to subelements within a
3323+
subscript or superscript won't nest the placement of a subscript or
3324+
superscript glyph. Images contained within text runs where the value of
3325+
this property is ‘<code class=property>sub</code>’ or ‘<code
3326+
class=property>super</code>’ will be drawn just as they would if the
3327+
value was ‘<a href="#normal2"><code class=property>normal</code></a>’.
3328+
Likewise, text decorations such as underlines or emphasis marks will
3329+
render in the same position as they would for the default glyphs, since
3330+
this property does not affect the baseline position.
3331+
3332+
<p>Because of these limitations, font-variant-position is not recommended
3333+
for use in user agent stylesheets. Authors should use it in cases where
3334+
subscripts or superscripts will only contain the narrow range of
3335+
characters supported by the fonts specified.
33203336

33213337
<div class=example>
33223338
<p>A typical user agent default style for the <code>sub</code> element:</p>
@@ -4903,21 +4919,28 @@ <h2 class=no-num id=font-feature-values-DOM>Appendix B: DOM Interfaces</h2>
49034919
<h2 class=no-num id=ch-ch-ch-changes>Changes</h2>
49044920

49054921
<h3 class=no-num id=recent-changes> Changes from the <a
4906-
href="http://www.w3.org/TR/2011/WD-css3-fonts-20110324/">March 2011 CSS3
4922+
href="http://www.w3.org/TR/2011/WD-css3-fonts-20111004/">October 2011 CSS3
49074923
Fonts Working Draft</a></h3>
49084924

49094925
<p>Major changes include:
49104926

49114927
<ul>
4912-
<li>Made same-origin wording normative and marked it at-risk
4928+
<li>Based on TPAC resolution, same-origin restriction is normative
4929+
4930+
<li>Added parameter specifics for using CORS with font loads
4931+
4932+
<li>Revised fallback handling of subscript/superscript variants
49134933

4914-
<li>Simplified definition of subscript/superscript variant property
4934+
<li>Switched to using CSS3 Values and Units hash notation for
4935+
comma-delimited lists
49154936

4916-
<li>Trimmed some font-variant property values and renamed others
4937+
<li>Reworked font-family syntax to be clearer about the use of keywords in
4938+
unquoted font family names
49174939

4918-
<li>Added more examples for various font variant value types
4940+
<li>Tightened the syntax of font-feature-settings to only allow
4941+
four-character tags
49194942

4920-
<li>Added DOM interface definitions for @font-feature-values rules
4943+
<li>Added missing definitions of default values for some properties
49214944
</ul>
49224945

49234946
<h2 class=no-num id=acknowledgments>Acknowledgments</h2>
@@ -4929,8 +4952,10 @@ <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
49294952
Lunde and Eric Muller provided valuable feedback on CJK OpenType features
49304953
and Unicode variation selectors. The idea for supporting font features by
49314954
using font-variant subproperties originated with Håkon Wium Lie, Adam
4932-
Twardoch and Tal Leming. Thanks also to House Industries for allowing the
4933-
use of Ed Interlock in the discretionary ligatures example.
4955+
Twardoch and Tal Leming. Elika Etemad supplied some of the initial design
4956+
ideas for the @font-feature-values rule. Thanks also to House Industries
4957+
for allowing the use of Ed Interlock in the discretionary ligatures
4958+
example.
49344959

49354960
<p>A special thanks to Robert Bringhurst for the sublime mind expansion
49364961
that is <em>The Elements of Typographic Style</em>.
@@ -5046,11 +5071,11 @@ <h3 class=no-num id=normative-references>Normative References</h3>
50465071
<dt id=UNICODE6>[UNICODE6]
50475072

50485073
<dd>The Unicode Consortium. <a
5049-
href="http://www.unicode.org/versions/Unicode6.0.0/"><cite>The Unicode
5050-
Standard, Version 6.0.0.</cite></a> Defined by: The Unicode Standard,
5051-
Version 6.0.0 (Mountain View, CA: The Unicode Consortium, 2011. ISBN
5052-
978-1-936213-01-6) URL: <a
5053-
href="http://www.unicode.org/versions/Unicode6.0.0/">http://www.unicode.org/versions/Unicode6.0.0/</a>
5074+
href="http://www.unicode.org/versions/Unicode6.1.0/"><cite>The Unicode
5075+
Standard, Version 6.1.0.</cite></a> Defined by: The Unicode Standard,
5076+
Version 6.1.0 (Mountain View, CA: The Unicode Consortium, 2012. ISBN
5077+
978-1-936213-02-3) URL: <a
5078+
href="http://www.unicode.org/versions/Unicode6.1.0/">http://www.unicode.org/versions/Unicode6.1.0/</a>
50545079
</dd>
50555080
<!---->
50565081
</dl>
10.9 KB
Loading

0 commit comments

Comments
 (0)