Mon, 10 Jun 2013 17:47:39 +0900
[css3-fonts] editorial fixes in cluster matching section
css-fonts/Fonts.html | file | annotate | diff | comparison | revisions |
1.1 --- a/css-fonts/Fonts.html Mon Jun 10 04:44:53 2013 -0400 1.2 +++ b/css-fonts/Fonts.html Mon Jun 10 17:47:39 2013 +0900 1.3 @@ -3143,10 +3143,25 @@ 1.4 with the appropriate style based on other font properties and then 1.5 determining whether a glyph exists for the given character. This is done 1.6 using the <dfn id=character-map>character map</dfn> of the font, data 1.7 - which maps characters to the default glyph for that character. Codepoint 1.8 - sequences consisting of a base character followed by a sequence of 1.9 - combining characters are treated slightly differently, see the section on 1.10 - <a href="#cluster-matching">cluster matching</a> below. 1.11 + which maps characters to the default glyph for that character. A font is 1.12 + considered to <dfn id=support>support</dfn> a given character if (1) the 1.13 + character is contained in the font's <a 1.14 + href="#character-map"><em>character map</em></a> and (2) if required by 1.15 + the containing script, shaping information is available for that 1.16 + character. 1.17 + 1.18 + <p>Some legacy fonts may include a given character in the <a 1.19 + href="#character-map"><em>character map</em></a> but lack the shaping 1.20 + information (e.g. <a 1.21 + href="http://www.microsoft.com/typography/otspec/ttochap1.htm">OpenType 1.22 + layout tables</a> or <a 1.23 + href="http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_techAbout">Graphite 1.24 + tables</a>) necessary for correctly rendering text runs containing that 1.25 + character. 1.26 + 1.27 + <p>Codepoint sequences consisting of a base character followed by a 1.28 + sequence of combining characters are treated slightly differently, see the 1.29 + section on <a href="#cluster-matching">cluster matching</a> below. 1.30 1.31 <p>For this procedure, the <dfn id=default-face>default face</dfn> for a 1.32 given font family is defined to be the face that would be selected if all 1.33 @@ -3329,31 +3344,18 @@ 1.34 1.35 <h3 id=cluster-matching><span class=secno>5.3 </span>Cluster matching</h3> 1.36 1.37 - <p>When text contains characters such as combining diacritics, ideally the 1.38 - base character should be rendered using the same font as the diacritic, 1.39 - this assures proper placement of the diacritic. For this reason, the font 1.40 - matching algorithm for clusters is more specialized than the general case 1.41 - of matching a single character by itself. For sequences containing 1.42 - variation selectors, which indicate the precise glyph to be used for a 1.43 - given character, user agents always attempt <a 1.44 - href="#system-font-fallback"><em>system font fallback</em></a> to find the 1.45 - appropriate glyph before using the default glyph of the base character. 1.46 - 1.47 - <p>A font is considered to <em>support</em> a given character if (1) the 1.48 - character is contained in the font's <a 1.49 - href="#character-map"><em>character map</em></a> and (2) if required by 1.50 - the containing script, shaping information is available for that 1.51 - character. Some legacy fonts may include a given character in the <a 1.52 - href="#character-map"><em>character map</em></a> but lack the shaping 1.53 - information (e.g. <a 1.54 - href="http://www.microsoft.com/typography/otspec/ttochap1.htm">OpenType 1.55 - layout tables</a> or <a 1.56 - href="http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_techAbout">Graphite 1.57 - tables</a>) necessary for correctly rendering text runs containing that 1.58 - character. 1.59 - 1.60 - <p>A sequence of codepoints containing combining diacritics or other 1.61 - modifiers is termed a grapheme cluster (see <a href="#CSS3TEXT" 1.62 + <p>When text contains characters such as combining marks, ideally the base 1.63 + character should be rendered using the same font as the mark, this assures 1.64 + proper placement of the mark. For this reason, the font matching algorithm 1.65 + for clusters is more specialized than the general case of matching a 1.66 + single character by itself. For sequences containing variation selectors, 1.67 + which indicate the precise glyph to be used for a given character, user 1.68 + agents always attempt <a href="#system-font-fallback"><em>system font 1.69 + fallback</em></a> to find the appropriate glyph before using the default 1.70 + glyph of the base character. 1.71 + 1.72 + <p>A sequence of codepoints containing combining mark or other modifiers is 1.73 + termed a grapheme cluster (see <a href="#CSS3TEXT" 1.74 rel=biblioentry>[CSS3TEXT]<!--{{CSS3TEXT}}--></a> for a more complete 1.75 description). For a given cluster containing a base character, <em>b</em> 1.76 and a sequence of combining characters <em>c1, c2…</em>, the entire 1.77 @@ -3367,27 +3369,33 @@ 1.78 completely supported by the font, select this font for the sequence. 1.79 1.80 <li>If a sequence of multiple codepoints is canonically equivalent to a 1.81 - single character and the font supports that character, select this font 1.82 - for the sequence. 1.83 + single character and the font <a href="#support"><em 1.84 + title=support>supports</em></a> that character, select this font for 1.85 + the sequence. 1.86 </ol> 1.87 1.88 <li>If no font was found in the font list in step 1: 1.89 <ol> 1.90 <li>If <em>c1</em> is a variation selector, system fallback must be used 1.91 - to find a font that supports the full sequence of <em>b + c1</em>. If 1.92 - no font on the system supports the full sequence, match the single 1.93 + to find a font that <a href="#support"><em 1.94 + title=support>supports</em></a> the full sequence of <em>b + c1</em>. 1.95 + If no font on the system <a href="#support"><em 1.96 + title=support>supports</em></a> the full sequence, match the single 1.97 character <em>b</em> using the normal procedure for matching single 1.98 characters and ignore the variation selector. Note: a sequence with 1.99 - more than one variation selector is treated as an encoding error and 1.100 - the trailing selectors are ignored. 1.101 + more than one variation selector must be treated as an encoding error 1.102 + and the trailing selectors must be ignored. <a href="#UNICODE6" 1.103 + rel=biblioentry>[UNICODE6]<!--{{!UNICODE6}}--></a> 1.104 1.105 <li>Otherwise, the user agent may optionally use system font fallback to 1.106 - match a font that supports the entire cluster. 1.107 + match a font that <a href="#support"><em 1.108 + title=support>supports</em></a> the entire cluster. 1.109 </ol> 1.110 1.111 <li>If no font is found in step 2, use the matching sequence from step 1 1.112 - to determine the longest sequence that is completely matched by a font in 1.113 - the font list and attempt to match the remaining combining characters 1.114 + to determine the longest sequence that is completely <a 1.115 + href="#support"><em title=support>supported</em></a> by a font in the 1.116 + font list and attempt to match the remaining combining characters 1.117 separately using the rules for single characters. 1.118 </ol> 1.119 1.120 @@ -4225,7 +4233,7 @@ 1.121 <pre>blockquote { font-style: italic; } 1.122 blockquote:first-line { font-variant: small-caps; } 1.123 1.124 -<blockquote><a href="http://lists.w3.org/Archives/Public/www-style/2009Dec/0036.html" style="text-decoration: none">I'll be honor-bound to slap them like a haddock.</a></blockquote> 1.125 +<blockquote><a href="http://lists.w3.org/Archives/Public/www-style/2009Dec/0036.html" style="text-decoration: none; border: none;">I'll be honor-bound to slap them like a haddock.</a></blockquote> 1.126 </pre> 1.127 </div> 1.128 <!-- prop: font-variant-numeric --> 1.129 @@ -6737,6 +6745,8 @@ 1.130 1.131 <li>super, <a href="#super" title=super><strong>6.5</strong></a> 1.132 1.133 + <li>support, <a href="#support" title=support><strong>5.2</strong></a> 1.134 + 1.135 <li>swash, <a href="#swash" title=swash><strong>6.8</strong></a> 1.136 1.137 <li>system font fallback, <a href="#system-font-fallback" title="system