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