[css3-fonts] how italics are synthesized is now officially undefined :(

Fri, 07 Jun 2013 08:10:47 +0900

author
John Daggett <jdaggett@mozilla.com>
date
Fri, 07 Jun 2013 08:10:47 +0900
changeset 8363
29bdc056b936
parent 8362
5d9a79e348de
child 8364
b38d067383a3

[css3-fonts] how italics are synthesized is now officially undefined :(

css-fonts/Fonts.html file | annotate | diff | comparison | revisions
     1.1 --- a/css-fonts/Fonts.html	Thu Jun 06 18:12:46 2013 +0900
     1.2 +++ b/css-fonts/Fonts.html	Fri Jun 07 08:10:47 2013 +0900
     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-6-june-2013>Editor's Draft 6
     1.8 +   <h2 class="no-num no-toc" id=editors-draft-7-june-2013>Editor's Draft 7
     1.9      June 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-20130606/">http://www.w3.org/TR/2013/ED-css3-fonts-20130606/</a> -->
    1.17 +     <!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-fonts-20130607/">http://www.w3.org/TR/2013/ED-css3-fonts-20130607/</a> -->
    1.18       
    1.19  
    1.20      <dt>Latest version:
    1.21 @@ -574,11 +574,12 @@
    1.22     defines the mapping of characters to glyphs for that font. If a document
    1.23     contains characters not supported by the <a href="#character-map"><em
    1.24     title="character map">character maps</em></a> of the fonts contained in a
    1.25 -   font family list, a user agent may use a system font fallback procedure to
    1.26 -   locate an appropriate font that does. If no appropriate font can be found,
    1.27 -   some form of "missing glyph" character will be rendered by the user agent.
    1.28 -   System fallback can occur when the specified list of font families does
    1.29 -   not include a font that supports a given character.
    1.30 +   font family list, a user agent may use a <a
    1.31 +   href="#system-font-fallback"><em>system font fallback</em></a> procedure
    1.32 +   to locate an appropriate font that does. If no appropriate font can be
    1.33 +   found, some form of "missing glyph" character will be rendered by the user
    1.34 +   agent. System fallback can occur when the specified list of font families
    1.35 +   does not include a font that supports a given character.
    1.36  
    1.37    <p>Although the <a href="#character-map"><em>character map</em></a> of a
    1.38     font maps a given character to a glyph for that character, modern font
    1.39 @@ -1330,17 +1331,12 @@
    1.40    </dl>
    1.41  
    1.42    <p>If no italic or oblique face is available, oblique faces can be
    1.43 -   synthesized by rendering non-obliqued faces with a right sloping
    1.44 -   transformation applied. When synthesizing these faces, the transformation
    1.45 -   should apply to all glyphs in the same way and not vary based on codepoint
    1.46 -   or due to horizontal or vertical line orientation.
    1.47 -
    1.48 -  <p class=issue>It has been <a
    1.49 -   href="http://lists.w3.org/Archives/Public/www-style/2013May/0272.html">proposed</a>
    1.50 -   that for vertical text runs, synthetic italics should not mimic normal
    1.51 -   italic glyphs but instead mimic the customs of Japanese obliquing
    1.52 -   (斜体、shatai), where the obliquing is applied across the text run
    1.53 -   regardless of glyph orientation.
    1.54 +   synthesized by rendering non-obliqued faces with an artificial obliquing
    1.55 +   operation. The use of these artificially obliqued faces can be disabled
    1.56 +   using the ‘<a href="#propdef-font-synthesis"><code
    1.57 +   class=property>font-synthesis</code></a>’ property. The details of the
    1.58 +   obliquing operation are not explicitly defined.</p>
    1.59 +  <!-- resolution on the "undefined" nature of synthetics: http://www.w3.org/2013/06/06-css-minutes.html#item03 -->
    1.60  
    1.61    <p>Many scripts lack the tradition of mixing a cursive form within text
    1.62     rendered with a normal face. Chinese, Japanese and Korean fonts almost
    1.63 @@ -1348,7 +1344,8 @@
    1.64     scripts will sometimes omit specific scripts such as Arabic from the set
    1.65     of glyphs supported in the italic face. User agents should be careful
    1.66     about making <a href="#character-map"><em>character map</em></a>
    1.67 -   assumptions across faces.</p>
    1.68 +   assumptions across faces when implementing support for <a
    1.69 +   href="#system-font-fallback"><em>system font fallback</em></a>.</p>
    1.70    <!-- prop: font-size -->
    1.71  
    1.72    <h3 id=font-size-prop><span class=secno>3.5 </span>Font size: the <a
    1.73 @@ -2214,7 +2211,8 @@
    1.74     other applications or to documents that don't directly link to the same
    1.75     font. User agent implementers might consider it convenient to use
    1.76     downloaded fonts when rendering characters in other documents for which no
    1.77 -   other available font exists as part of the system font fallback procedure.
    1.78 +   other available font exists as part of the <a
    1.79 +   href="#system-font-fallback"><em>system font fallback</em></a> procedure.
    1.80     However, this would cause a security leak since the contents of one page
    1.81     would be able to affect other pages, something an attacker could use as an
    1.82     attack vector. These restrictions do not affect caching behavior, fonts
    1.83 @@ -3265,9 +3263,10 @@
    1.84       is downloaded.</p>
    1.85  
    1.86     <li>If there are no more font families to be evaluated and no matching
    1.87 -    face has been found, then the user agent performs a <em>system font
    1.88 -    fallback</em> procedure to find the best match for the character to be
    1.89 -    rendered. The result of this procedure may vary across user agents.
    1.90 +    face has been found, then the user agent performs a <dfn
    1.91 +    id=system-font-fallback>system font fallback</dfn> procedure to find the
    1.92 +    best match for the character to be rendered. The result of this procedure
    1.93 +    may vary across user agents.
    1.94  
    1.95     <li>If a particular character cannot be displayed using any font, the user
    1.96      agent should indicate by some means that a character is not being
    1.97 @@ -3285,9 +3284,9 @@
    1.98     matching algorithm for clusters is more specialized than the general case
    1.99     of matching a single character by itself. For sequences containing
   1.100     variation selectors, which indicate the precise glyph to be used for a
   1.101 -   given character, user agents always attempt system font fallback to find
   1.102 -   the appropriate glyph before using the default glyph of the base
   1.103 -   character.
   1.104 +   given character, user agents always attempt <a
   1.105 +   href="#system-font-fallback"><em>system font fallback</em></a> to find the
   1.106 +   appropriate glyph before using the default glyph of the base character.
   1.107  
   1.108    <p>A font is considered to <em>support</em> a given character if (1) the
   1.109     character is contained in the font's <a
   1.110 @@ -3365,11 +3364,12 @@
   1.111    <p>If a given character is a Private-Use Area Unicode codepoint and none of
   1.112     the fonts in the fontlist contain a glyph for that codepoint, user agents
   1.113     must display some form of missing glyph symbol for that character rather
   1.114 -   than attempting system font fallback for that codepoint. When matching the
   1.115 -   replacement character U+FFFD, user agents may skip the font matching
   1.116 -   process and immediately display some form of missing glyph symbol, they
   1.117 -   are not required to display the glyph from the font that would be selected
   1.118 -   by the font matching process.
   1.119 +   than attempting <a href="#system-font-fallback"><em>system font
   1.120 +   fallback</em></a> for that codepoint. When matching the replacement
   1.121 +   character U+FFFD, user agents may skip the font matching process and
   1.122 +   immediately display some form of missing glyph symbol, they are not
   1.123 +   required to display the glyph from the font that would be selected by the
   1.124 +   font matching process.
   1.125  
   1.126    <p>In general, the fonts for a given family will all have the same or
   1.127     similar <a href="#character-map"><em title="character map">character
   1.128 @@ -6662,6 +6662,9 @@
   1.129  
   1.130     <li>swash, <a href="#swash" title=swash><strong>6.8</strong></a>
   1.131  
   1.132 +   <li>system font fallback, <a href="#system-font-fallback" title="system
   1.133 +    font fallback"><strong>5.2</strong></a>
   1.134 +
   1.135     <li>tabular-nums, <a href="#tabular-nums"
   1.136      title=tabular-nums><strong>6.7</strong></a>
   1.137  

mercurial