[css3-fonts] editorial fixes in cluster matching section

Mon, 10 Jun 2013 17:47:39 +0900

author
John Daggett <jdaggett@mozilla.com>
date
Mon, 10 Jun 2013 17:47:39 +0900
changeset 8397
8b231a13093c
parent 8396
ebdb04e3a1e9
child 8402
6a8258622134

[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&amp;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&amp;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 -&lt;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>&lt;/blockquote>
   1.125 +&lt;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>&lt;/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

mercurial