116116
117117 < h1 > CSS Fonts Module Level 3</ h1 >
118118
119- < h2 class ="no-num no-toc " id =editors > Editor's Draft 18 May 2009</ h2 >
119+ < h2 class ="no-num no-toc " id =editors > Editor's Draft 19 May 2009</ h2 >
120120
121121 < dl id =authors >
122122 < dt > This version:
@@ -2258,33 +2258,37 @@ <h3 id=character><span class=secno>4.5 </span>Character range: the ‘<code
22582258 range has three basic forms:
22592259
22602260 < ul >
2261- < li > a single codepoint (e.g. U+416)
2261+ < li > a single code point (e.g. U+416)
22622262
22632263 < li > an interval value range (e.g. U+400-4ff)
22642264
22652265 < li > a range where trailing ‘< code class =css > ?</ code > ’ characters imply
22662266 ‘< code class =css > any digit value</ code > ’ (e.g. U+4??)
22672267 </ ul >
22682268
2269- < p > Interval ranges consisting of a single codepoint are valid, as are
2270- ranges specified with ‘< code class =css > ?</ code > ’ that lack an initial
2271- digit. Ranges can overlap but interval ranges that descend (e.g.
2272- U+400-32f) are invalid and omitted rather than treated as parse errors,
2273- they have no effect on other ranges in a list of ranges. Ranges containing
2274- values greater than 10FFFF are also omitted. Without any valid ranges, the
2275- descriptor is omitted. Ranges that do not fit any of the above three forms
2276- are considered to be parse errors and the descriptor is omitted. User
2277- agents may normalize the list of ranges into a list that is different but
2278- represents the equivalent set of character code points.
2269+ < p > Ranges that do not fit any of the above three forms are considered to be
2270+ parse errors and the descriptor is omitted. Interval ranges consisting of
2271+ a single code point are valid. Ranges specified with ‘?’ that lack an
2272+ initial digit (e.g. "U+???") are also valid, and are treated as if there
2273+ was a single 0 before the question marks (thus, "U+???" = "U+0???" =
2274+ "U+0000-0FFF"). "U+??????" is not a syntax error, even though "U+0??????"
2275+ would be. Ranges can overlap but interval ranges that descend (e.g.
2276+ U+400-32f) are invalid and omitted rather than treated as parse errors;
2277+ they have no effect on other ranges in a list of ranges. Ranges are
2278+ clipped to the domain of Unicode code points (currently 0 - 10FFFF
2279+ inclusive); a range entirely outside the domain is omitted. Without any
2280+ valid ranges, the descriptor is omitted. User agents may normalize the
2281+ list of ranges into a list that is different but represents the equivalent
2282+ set of character code points.
22792283
22802284 < p > The character range can be a subset of the full character map of the
22812285 underlying font. The effective unicode-range used when mapping characters
22822286 to fonts is the intersection of the unicode range specified and the
22832287 underlying character map of the font. This means that authors do not need
22842288 to define the unicode-range of a font precisely, broad ranges for which a
2285- sparse set of codepoints are defined in the font can be used. Codepoints
2289+ sparse set of code points are defined in the font can be used. Code points
22862290 outside of the defined unicode-range are ignored, irregardless of whether
2287- the font contains a glyph for that codepoint or not. User agents that
2291+ the font contains a glyph for that code point or not. User agents that
22882292 download fonts for characters outside the defined unicode-range are
22892293 considered non-conformant. Likewise, user agents that render a character
22902294 using a font resource for which the defined unicode-range does not include
@@ -2295,7 +2299,7 @@ <h3 id=character><span class=secno>4.5 </span>Character range: the ‘<code
22952299 < dl >
22962300 < dt > unicode-range: U+A5;
22972301
2298- < dd > a single codepoint , the yen/yuan symbol
2302+ < dd > a single code point , the yen/yuan symbol
22992303
23002304 < dt > unicode-range: U+0-7F;
23012305
@@ -2427,16 +2431,16 @@ <h3 id=character><span class=secno>4.5 </span>Character range: the ‘<code
24272431</ pre >
24282432
24292433 < p > The user agent again first checks the unicode-range of the font
2430- containing Latin characters. Since U+2000-2300 includes the arrow
2431- codepoint (U+21E8), the user agent downloads the font. For this character
2434+ containing Latin characters. Since U+2000-2300 includes the arrow code
2435+ point (U+21E8), the user agent downloads the font. For this character
24322436 however the Latin font does not have a matching glyph, so the effective
2433- unicode-range used for font matching excludes this codepoint . Next, the
2437+ unicode-range used for font matching excludes this code point . Next, the
24342438 user agent evaluates the Japanese font. The unicode-range for the
24352439 Japanese font, U+3000-9FFF and U+ff??, does not include U+21E8, so the
24362440 user agent does < strong > not</ strong > download the Japanese font. Next the
24372441 fallback font is considered. The @font-face rule for the fallback font
24382442 does not define unicode-range so it's value defaults to the range of all
2439- Unicode codepoints . The fallback font is downloaded and used to render
2443+ Unicode code points . The fallback font is downloaded and used to render
24402444 the arrow character.</ p >
24412445 </ div >
24422446 <!-- Tools to create subsetted fonts a problem. Also, combining diacritics
@@ -2631,7 +2635,7 @@ <h3>Examples of font matching</h3>
26312635 < div class =example >
26322636 < p > It's useful to note that the CSS selector syntax may be used to create
26332637 language-sensitive typography. For example, some Chinese and Japanese
2634- characters are unified to have the same Unicode codepoint , although the
2638+ characters are unified to have the same Unicode code point , although the
26352639 abstract glyphs are not the same in the two languages.
26362640
26372641 < pre > *:lang(ja-jp) { font: 900 14pt/16pt "Heisei Mincho W9", serif; }
0 commit comments