Skip to content

Commit bb22017

Browse files
author
John Daggett
committed
[css3-fonts] how italics are synthesized is now officially undefined :(
1 parent 7676c17 commit bb22017

1 file changed

Lines changed: 34 additions & 31 deletions

File tree

css-fonts/Fonts.html

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,15 @@
112112

113113
<h1>CSS Fonts Module Level 3</h1>
114114

115-
<h2 class="no-num no-toc" id=editors-draft-6-june-2013>Editor's Draft 6
115+
<h2 class="no-num no-toc" id=editors-draft-7-june-2013>Editor's Draft 7
116116
June 2013</h2>
117117

118118
<dl id=authors>
119119
<dt>This version:
120120

121121
<dd><a
122122
href="http://dev.w3.org/csswg/css-fonts/">http://dev.w3.org/csswg/css-fonts/</a>
123-
<!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-fonts-20130606/">http://www.w3.org/TR/2013/ED-css3-fonts-20130606/</a> -->
123+
<!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-fonts-20130607/">http://www.w3.org/TR/2013/ED-css3-fonts-20130607/</a> -->
124124

125125

126126
<dt>Latest version:
@@ -574,11 +574,12 @@ <h2 id=typography-background><span class=secno>2 </span>Typography
574574
defines the mapping of characters to glyphs for that font. If a document
575575
contains characters not supported by the <a href="#character-map"><em
576576
title="character map">character maps</em></a> of the fonts contained in a
577-
font family list, a user agent may use a system font fallback procedure to
578-
locate an appropriate font that does. If no appropriate font can be found,
579-
some form of "missing glyph" character will be rendered by the user agent.
580-
System fallback can occur when the specified list of font families does
581-
not include a font that supports a given character.
577+
font family list, a user agent may use a <a
578+
href="#system-font-fallback"><em>system font fallback</em></a> procedure
579+
to locate an appropriate font that does. If no appropriate font can be
580+
found, some form of "missing glyph" character will be rendered by the user
581+
agent. System fallback can occur when the specified list of font families
582+
does not include a font that supports a given character.
582583

583584
<p>Although the <a href="#character-map"><em>character map</em></a> of a
584585
font maps a given character to a glyph for that character, modern font
@@ -1330,25 +1331,21 @@ <h3 id=font-style-prop><span class=secno>3.4 </span>Font style: the <a
13301331
</dl>
13311332

13321333
<p>If no italic or oblique face is available, oblique faces can be
1333-
synthesized by rendering non-obliqued faces with a right sloping
1334-
transformation applied. When synthesizing these faces, the transformation
1335-
should apply to all glyphs in the same way and not vary based on codepoint
1336-
or due to horizontal or vertical line orientation.
1337-
1338-
<p class=issue>It has been <a
1339-
href="http://lists.w3.org/Archives/Public/www-style/2013May/0272.html">proposed</a>
1340-
that for vertical text runs, synthetic italics should not mimic normal
1341-
italic glyphs but instead mimic the customs of Japanese obliquing
1342-
(斜体、shatai), where the obliquing is applied across the text run
1343-
regardless of glyph orientation.
1334+
synthesized by rendering non-obliqued faces with an artificial obliquing
1335+
operation. The use of these artificially obliqued faces can be disabled
1336+
using the ‘<a href="#propdef-font-synthesis"><code
1337+
class=property>font-synthesis</code></a>’ property. The details of the
1338+
obliquing operation are not explicitly defined.</p>
1339+
<!-- resolution on the "undefined" nature of synthetics: http://www.w3.org/2013/06/06-css-minutes.html#item03 -->
13441340

13451341
<p>Many scripts lack the tradition of mixing a cursive form within text
13461342
rendered with a normal face. Chinese, Japanese and Korean fonts almost
13471343
always lack italic or oblique faces. Fonts that support a mixture of
13481344
scripts will sometimes omit specific scripts such as Arabic from the set
13491345
of glyphs supported in the italic face. User agents should be careful
13501346
about making <a href="#character-map"><em>character map</em></a>
1351-
assumptions across faces.</p>
1347+
assumptions across faces when implementing support for <a
1348+
href="#system-font-fallback"><em>system font fallback</em></a>.</p>
13521349
<!-- prop: font-size -->
13531350

13541351
<h3 id=font-size-prop><span class=secno>3.5 </span>Font size: the <a
@@ -2214,7 +2211,8 @@ <h3 id=font-face-rule><span class=secno>4.1 </span>The <dfn
22142211
other applications or to documents that don't directly link to the same
22152212
font. User agent implementers might consider it convenient to use
22162213
downloaded fonts when rendering characters in other documents for which no
2217-
other available font exists as part of the system font fallback procedure.
2214+
other available font exists as part of the <a
2215+
href="#system-font-fallback"><em>system font fallback</em></a> procedure.
22182216
However, this would cause a security leak since the contents of one page
22192217
would be able to affect other pages, something an attacker could use as an
22202218
attack vector. These restrictions do not affect caching behavior, fonts
@@ -3265,9 +3263,10 @@ <h3 id=font-style-matching><span class=secno>5.2 </span>Matching font
32653263
is downloaded.</p>
32663264

32673265
<li>If there are no more font families to be evaluated and no matching
3268-
face has been found, then the user agent performs a <em>system font
3269-
fallback</em> procedure to find the best match for the character to be
3270-
rendered. The result of this procedure may vary across user agents.
3266+
face has been found, then the user agent performs a <dfn
3267+
id=system-font-fallback>system font fallback</dfn> procedure to find the
3268+
best match for the character to be rendered. The result of this procedure
3269+
may vary across user agents.
32713270

32723271
<li>If a particular character cannot be displayed using any font, the user
32733272
agent should indicate by some means that a character is not being
@@ -3285,9 +3284,9 @@ <h3 id=cluster-matching><span class=secno>5.3 </span>Cluster matching</h3>
32853284
matching algorithm for clusters is more specialized than the general case
32863285
of matching a single character by itself. For sequences containing
32873286
variation selectors, which indicate the precise glyph to be used for a
3288-
given character, user agents always attempt system font fallback to find
3289-
the appropriate glyph before using the default glyph of the base
3290-
character.
3287+
given character, user agents always attempt <a
3288+
href="#system-font-fallback"><em>system font fallback</em></a> to find the
3289+
appropriate glyph before using the default glyph of the base character.
32913290

32923291
<p>A font is considered to <em>support</em> a given character if (1) the
32933292
character is contained in the font's <a
@@ -3365,11 +3364,12 @@ <h3 id=char-handling-issues><span class=secno>5.4 </span>Character handling
33653364
<p>If a given character is a Private-Use Area Unicode codepoint and none of
33663365
the fonts in the fontlist contain a glyph for that codepoint, user agents
33673366
must display some form of missing glyph symbol for that character rather
3368-
than attempting system font fallback for that codepoint. When matching the
3369-
replacement character U+FFFD, user agents may skip the font matching
3370-
process and immediately display some form of missing glyph symbol, they
3371-
are not required to display the glyph from the font that would be selected
3372-
by the font matching process.
3367+
than attempting <a href="#system-font-fallback"><em>system font
3368+
fallback</em></a> for that codepoint. When matching the replacement
3369+
character U+FFFD, user agents may skip the font matching process and
3370+
immediately display some form of missing glyph symbol, they are not
3371+
required to display the glyph from the font that would be selected by the
3372+
font matching process.
33733373

33743374
<p>In general, the fonts for a given family will all have the same or
33753375
similar <a href="#character-map"><em title="character map">character
@@ -6662,6 +6662,9 @@ <h2 class=no-num id=index>Index</h2>
66626662

66636663
<li>swash, <a href="#swash" title=swash><strong>6.8</strong></a>
66646664

6665+
<li>system font fallback, <a href="#system-font-fallback" title="system
6666+
font fallback"><strong>5.2</strong></a>
6667+
66656668
<li>tabular-nums, <a href="#tabular-nums"
66666669
title=tabular-nums><strong>6.7</strong></a>
66676670

0 commit comments

Comments
 (0)