1.1 --- a/css-fonts/Fonts.html Tue May 21 13:13:09 2013 +0800 1.2 +++ b/css-fonts/Fonts.html Tue May 21 17:25:57 2013 +0800 1.3 @@ -112,7 +112,7 @@ 1.4 1.5 <h1>CSS Fonts Module Level 3</h1> 1.6 1.7 - <h2 class="no-num no-toc" id=editors-draft-20-may-2013>Editor's Draft 20 1.8 + <h2 class="no-num no-toc" id=editors-draft-21-may-2013>Editor's Draft 21 1.9 May 2013</h2> 1.10 1.11 <dl id=authors> 1.12 @@ -120,7 +120,7 @@ 1.13 1.14 <dd><a 1.15 href="http://dev.w3.org/csswg/css-fonts/">http://dev.w3.org/csswg/css-fonts/</a> 1.16 - <!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-fonts-20130520/">http://www.w3.org/TR/2013/ED-css3-fonts-20130520/</a> --> 1.17 + <!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-fonts-20130521/">http://www.w3.org/TR/2013/ED-css3-fonts-20130521/</a> --> 1.18 1.19 1.20 <dt>Latest version: 1.21 @@ -2332,10 +2332,10 @@ 1.22 1.23 <p>The name can optionally be enclosed in quotes. For OpenType and TrueType 1.24 fonts, this string is used to match only the Postscript name or the full 1.25 - font name in the name table of locally available fonts. Which is used 1.26 - varies by platform and font, so authors should include both of these names 1.27 - to assure proper matching across platforms. Platform substitutions for a 1.28 - given font name must not be used. 1.29 + font name in the name table of locally available fonts. Which type of name 1.30 + is used varies by platform and font, so authors should include both of 1.31 + these names to assure proper matching across platforms. Platform 1.32 + substitutions for a given font name must not be used. 1.33 1.34 <pre> 1.35 /* bold face of Gentium */ 1.36 @@ -2510,7 +2510,7 @@ 1.37 properties except that relative keywords are not allowed, ‘<code 1.38 class=property>bolder</code>’ and ‘<code 1.39 class=property>lighter</code>’. If these descriptors are omitted, 1.40 - default values are assumed. 1.41 + initial values are assumed. 1.42 1.43 <p>The value for these font face style attributes is used in place of the 1.44 style implied by the underlying font data. This allows authors to combine 1.45 @@ -2533,7 +2533,7 @@ 1.46 <tr> 1.47 <td>Value: 1.48 1.49 - <td><urange># 1.50 + <td><dfn id=lturange><urange></dfn># 1.51 1.52 <tr> 1.53 <td><em>Initial:</em> 1.54 @@ -2541,58 +2541,120 @@ 1.55 <td>U+0-10FFFF 1.56 </table> 1.57 1.58 - <p>This descriptor defines the range of Unicode characters supported by a 1.59 - given font. The values of <span class=index-def id=lturangegt 1.60 - title="<urange>"><a name=value-def-urange><urange></a></span> 1.61 - are expressed using hexadecimal numbers prefixed by "U+" or "u+", 1.62 - corresponding to <a href="http://www.unicode.org/charts/">Unicode 1.63 - character code points</a>. The unicode-range descriptor serves as a hint 1.64 - for user agents when deciding whether or not to download a font resource. 1.65 - 1.66 - <p>Unicode range values are written using hexadecimal values and are ASCII 1.67 - case-insensitive. Each is prefixed by "U+" or "u+" and multiple, 1.68 - discontinuous ranges are separated by commas. Whitespace before or after 1.69 - commas is ignored. Valid character code values vary between 0 and 10FFFF 1.70 - inclusive. A single range has three basic forms: 1.71 + <p>This descriptor defines the set of Unicode codepoints that may be 1.72 + supported by the font face for which it is declared. The descriptor value 1.73 + is a comma-delimited list of Unicode range (<dfn id=lturangegt 1.74 + title=value-def-urange><code><urange></code></dfn>) values. The 1.75 + union of these ranges defines the set of codepoints that serves as a hint 1.76 + for user agents when deciding whether or not to download a font resource 1.77 + for a given text run. 1.78 + 1.79 + <p>Each <code><urange></code> value is a <a 1.80 + href="#descdef-unicode-range"><code>UNICODE-RANGE</code></a> token made up 1.81 + of a "U+" or "u+" prefix followed by a codepoint range in one of the three 1.82 + forms listed below. Ranges that do not fit one of the these three forms 1.83 + are considered to be parse errors and the descriptor is omitted. 1.84 1.85 <ul> 1.86 <li>a single code point (e.g. U+416) 1.87 1.88 - <li>an interval value range (e.g. U+400-4ff) 1.89 - 1.90 - <li>a range where trailing ‘<code class=css>?</code>’ characters imply 1.91 - ‘<code class=css>any digit value</code>’ (e.g. U+4??) 1.92 + <li>an interval value range defined by two hyphen-separated codepoints 1.93 + that indicate the inclusive start and end codepoints of a range (e.g. 1.94 + U+400-4ff) 1.95 + 1.96 + <li>a wildcard value range where trailing ‘<code class=css>?</code>’ 1.97 + characters imply ‘<code class=css>any digit value</code>’ (e.g. 1.98 + U+4??) 1.99 </ul> 1.100 1.101 - <p>Ranges that do not fit any of the above three forms are considered to be 1.102 - parse errors and the descriptor is omitted. Interval ranges consisting of 1.103 - a single code point are valid. Ranges specified with ‘?’ that lack an 1.104 - initial digit (e.g. "U+???") are also valid, and are treated as if there 1.105 - was a single 0 before the question marks (thus, "U+???" = "U+0???" = 1.106 - "U+0000-0FFF"). "U+??????" is not a syntax error, even though "U+0??????" 1.107 - would be. Ranges can overlap but interval ranges that descend (e.g. 1.108 - U+400-32f) are invalid and omitted rather than treated as parse errors; 1.109 - they have no effect on other ranges in a list of ranges. Ranges are 1.110 - clipped to the domain of Unicode code points (currently 0 – 10FFFF 1.111 - inclusive); a range entirely outside the domain is omitted. Without any 1.112 - valid ranges, the descriptor is omitted. User agents may normalize the 1.113 - list of ranges into a list that is different but represents the same set 1.114 - of character code points. 1.115 - 1.116 - <p>The character range can be a subset of the full <a 1.117 - href="#character-map"><em>character map</em></a> of the underlying font. 1.118 - The effective unicode-range used when mapping characters to fonts is the 1.119 - intersection of the unicode range specified and the underlying <a 1.120 - href="#character-map"><em>character map</em></a> of the font. This means 1.121 - that authors do not need to define the unicode-range of a font precisely, 1.122 - broad ranges for which a sparse set of code points are defined in the font 1.123 - can be used. Code points outside of the defined unicode-range are ignored, 1.124 - regardless of whether the font contains a glyph for that code point or 1.125 - not. User agents that download fonts for characters outside the defined 1.126 - unicode-range are considered non-conformant. Likewise, user agents that 1.127 - render a character using a font resource for which the defined 1.128 - unicode-range does not include that character are also considered 1.129 - non-conformant. 1.130 + <p>Individual codepoints are written using hexadecimal values that 1.131 + correspond to <a href="http://www.unicode.org/charts/">Unicode character 1.132 + codepoints</a>. Valid character code values vary between 0 and 10FFFF 1.133 + inclusive. They are ASCII case-insensitive. 1.134 + 1.135 + <p>For interval ranges, the start and end codepoints must be valid Unicode 1.136 + values and the end codepoint must be greater than or equal to the start 1.137 + codepoint. Wildcard ranges specified with ‘?’ that lack an initial 1.138 + digit (e.g. "U+???") are valid and treated as if there was a single 0 1.139 + before the question marks (thus, "U+???" = "U+0???" = "U+0000-0FFF"). 1.140 + "U+??????" is not a syntax error, even though "U+0??????" would be. 1.141 + Wildcard ranges that extend beyond the end of valid codepoint values are 1.142 + clipped to the range of valid codepoint values. Ranges that do not conform 1.143 + to these restrictions are considered parse errors and the descriptor is 1.144 + omitted. 1.145 + 1.146 + <p>Within the comma-delimited list of Unicode ranges in a ‘<a 1.147 + href="#descdef-unicode-range"><code 1.148 + class=property>unicode-range</code></a>’ descriptor declaration, ranges 1.149 + may overlap. Whitespace before or after commas is ignored. The union of 1.150 + these ranges defines the set of codepoints for which the corresponding 1.151 + font may be used. User agents must not download or use the font for 1.152 + codepoints outside this set. User agents may normalize the list of ranges 1.153 + into a list that is different but represents the same set of codepoints. 1.154 + 1.155 + <p>The associated font may not contain glyphs for the entire set of 1.156 + codepoints defined by the ‘<a href="#descdef-unicode-range"><code 1.157 + class=property>unicode-range</code></a>’ descriptor. When the font is 1.158 + used the effective character map is the intersection of the codepoints 1.159 + defined by ‘<a href="#descdef-unicode-range"><code 1.160 + class=property>unicode-range</code></a>’ with the font's character map. 1.161 + This allows authors to define supported ranges in terms of broad ranges 1.162 + without worrying about the precise codepoint ranges supported by the 1.163 + underlying font.</p> 1.164 + <!-- 1.165 +<p>This descriptor defines the range of Unicode characters supported by 1.166 +a given font. The values of <span class="index-def" 1.167 +title="<urange>"><a 1.168 +name="value-def-urange"><urange></a></span> are expressed using 1.169 +hexadecimal numbers prefixed by "U+" or "u+", corresponding to <a 1.170 +href="http://www.unicode.org/charts/">Unicode character code points</a>. 1.171 +The unicode-range descriptor serves as a hint for user agents when 1.172 +deciding whether or not to download a font resource.</p> 1.173 + 1.174 +<p>Unicode range values are written using hexadecimal values and are ASCII 1.175 +case-insensitive. Each is prefixed by "U+" or "u+" and multiple, discontinuous 1.176 +ranges are separated by commas. Whitespace before or after commas is 1.177 +ignored. Valid character code values vary between 0 and 10FFFF 1.178 +inclusive. A single range has three basic forms: 1.179 +</p> 1.180 + 1.181 +<ul> 1.182 + <li>a single code point (e.g. U+416)</li> 1.183 + <li>an interval value range (e.g. U+400-4ff)</li> 1.184 + <li>a range where trailing '?' characters imply 'any digit value' (e.g. U+4??)</li> 1.185 +</ul> 1.186 + 1.187 +<p>Ranges that do not fit any of the above three forms are considered to 1.188 +be parse errors and the descriptor is omitted. Interval ranges 1.189 +consisting of a single code point are valid. Ranges specified with ‘?’ 1.190 +that lack an initial digit (e.g. "U+???") are also valid, and are 1.191 +treated as if there was a single 0 before the question marks (thus, 1.192 +"U+???" = "U+0???" = "U+0000-0FFF"). "U+??????" is not a syntax error, 1.193 +even though "U+0??????" would be. Ranges can overlap but interval ranges 1.194 +that descend (e.g. U+400-32f) are invalid and omitted rather than 1.195 +treated as parse errors; they have no effect on other ranges in a list 1.196 +of ranges. Ranges are clipped to the domain of Unicode code points 1.197 +(currently 0 – 10FFFF inclusive); a range entirely outside the domain is 1.198 +omitted. Without any valid ranges, the descriptor is omitted. User 1.199 +agents may normalize the list of ranges into a list that is different 1.200 +but represents the same set of character code points. 1.201 +</p> 1.202 + 1.203 +<p>The character range can be a subset of the full <em>character map</em> of the 1.204 +underlying font. The effective unicode-range used when mapping 1.205 +characters to fonts is the intersection of the unicode range specified 1.206 +and the underlying <em>character map</em> of the font. This means that authors 1.207 +do not need to define the unicode-range of a font precisely, broad 1.208 +ranges for which a sparse set of code points are defined in the font can 1.209 +be used. Code points outside of the defined unicode-range are ignored, 1.210 +regardless of whether the font contains a glyph for that code point or 1.211 +not. User agents that download fonts for characters outside the defined 1.212 +unicode-range are considered non-conformant. Likewise, user agents that 1.213 +render a character using a font resource for which the defined 1.214 +unicode-range does not include that character are also considered 1.215 +non-conformant. 1.216 +</p> 1.217 +--> 1.218 1.219 <p>Example ranges for specific languages or characters: 1.220 1.221 @@ -2799,7 +2861,7 @@ 1.222 <td>normal 1.223 </table> 1.224 1.225 - <p>These descriptors define default settings that apply when the font 1.226 + <p>These descriptors define initial settings that apply when the font 1.227 defined by an <code>@font-face</code> rule is rendered. They do not affect 1.228 font selection. Values are identical to those defined for the 1.229 corresponding ‘<a href="#propdef-font-variant"><code 1.230 @@ -5861,8 +5923,8 @@ 1.231 <li><relative-size>, <a href="#ltrelative-sizegt" 1.232 title="<relative-size>"><strong>3.5</strong></a> 1.233 1.234 - <li><urange>, <a href="#lturangegt" 1.235 - title="<urange>"><strong>4.5</strong></a> 1.236 + <li><urange>, <a href="#lturange" 1.237 + title="<urange>"><strong>4.5</strong></a> 1.238 1.239 <li>@font-face, <a href="#font-face" title="@font-face">4.1</a>, <a 1.240 href="#font-face0" title="@font-face">4.3</a> 1.241 @@ -6119,6 +6181,9 @@ 1.242 <li>unicode-range, <a href="#descdef-unicode-range" 1.243 title=unicode-range><strong>4.5</strong></a> 1.244 1.245 + <li>value-def-urange, <a href="#lturangegt" 1.246 + title=value-def-urange><strong>4.5</strong></a> 1.247 + 1.248 <li>weight, <a href="#weight" title=weight><strong>2</strong></a> 1.249 1.250 <li>width, <a href="#width" title=width><strong>2</strong></a>