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 >
0 commit comments