Skip to content

Commit b97c5fd

Browse files
author
John Daggett
committed
[css3-fonts] revise details of font-variant-caps and include more samples
1 parent c725f1b commit b97c5fd

7 files changed

Lines changed: 93 additions & 57 deletions

css3-fonts/Fonts.html

Lines changed: 93 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
font-family: monospace;
114114
font-size: 120%;
115115
}
116-
116+
117117
</style>
118118
<link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
119119
type="text/css">
@@ -125,15 +125,15 @@
125125

126126
<h1>CSS Fonts Module Level 3</h1>
127127

128-
<h2 class="no-num no-toc" id=editors-draft-15-august-2012>Editor's Draft
129-
15 August 2012</h2>
128+
<h2 class="no-num no-toc" id=editors-draft-4-september-2012>Editor's Draft
129+
4 September 2012</h2>
130130

131131
<dl id=authors>
132132
<dt>This version:
133133

134134
<dd><a
135135
href="http://dev.w3.org/csswg/css3-fonts/">http://dev.w3.org/csswg/css3-fonts/</a>
136-
<!-- <dd><a href="http://www.w3.org/TR/2012/ED-css3-fonts-20120815/">http://www.w3.org/TR/2012/ED-css3-fonts-20120815/</a> -->
136+
<!-- <dd><a href="http://www.w3.org/TR/2012/ED-css3-fonts-20120904/">http://www.w3.org/TR/2012/ED-css3-fonts-20120904/</a> -->
137137

138138

139139
<dt>Latest version:
@@ -149,15 +149,15 @@ <h2 class="no-num no-toc" id=editors-draft-15-august-2012>Editor's Draft
149149
<dt>Previous version:
150150

151151
<dd><a
152-
href="http://www.w3.org/TR/2011/WD-css3-fonts-20111004/">http://www.w3.org/TR/2011/WD-css3-fonts-20111004/</a>
152+
href="http://www.w3.org/TR/2012/WD-css3-fonts-20120823/">http://www.w3.org/TR/2012/WD-css3-fonts-20120823/</a>
153153

154154
<dt>Issues List:
155155

156156
<dd><a href="http://www.w3.org/Style/CSS/Tracker/products/18">CSS3 Fonts
157157
issues in Tracker</a>
158158

159159
<dd><a
160-
href="https://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&product=CSS&component=Fonts&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">CSS3
160+
href="https://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&amp;product=CSS&amp;component=Fonts&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED">CSS3
161161
Fonts issues in Bugzilla</a>
162162

163163
<dt>Discussion:
@@ -388,8 +388,8 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
388388

389389
<li class=no-num><a href="#ch-ch-ch-changes">Changes</a>
390390
<ul class=toc>
391-
<li class=no-num><a href="#recent-changes"> Changes from the October
392-
2011 CSS3 Fonts Working Draft</a>
391+
<li class=no-num><a href="#recent-changes"> Changes from the August 2012
392+
CSS3 Fonts Working Draft</a>
393393
</ul>
394394

395395
<li class=no-num><a href="#acknowledgments">Acknowledgments</a>
@@ -2619,7 +2619,7 @@ <h3 id=font-rend-desc><span class=secno>4.6 </span>Font features: the <a
26192619
swash(&lt;feature-value-name&gt;) ||
26202620
ornaments(&lt;feature-value-name&gt;) ||
26212621
annotation(&lt;feature-value-name&gt;) || [ small-caps | all-small-caps
2622-
| petite-caps | all-petite-caps | titling-caps | unicase ] ||
2622+
| petite-caps | all-petite-caps | unicase | titling-caps ] ||
26232623
&lt;numeric-figure-values&gt; || &lt;numeric-spacing-values&gt; ||
26242624
&lt;numeric-fraction-values&gt; || ordinal || slashed-zero ||
26252625
&lt;east-asian-variant-values&gt; || &lt;east-asian-width-values&gt; ||
@@ -3542,7 +3542,7 @@ <h3 id=font-variant-caps-prop><span class=secno>6.6 </span>Capitalization:
35423542
<td>Value:
35433543

35443544
<td>normal | small-caps | all-small-caps | petite-caps | all-petite-caps
3545-
| titling-caps | unicase
3545+
| unicase | titling-caps
35463546

35473547
<tr>
35483548
<td>Initial:
@@ -3609,45 +3609,75 @@ <h3 id=font-variant-caps-prop><span class=secno>6.6 </span>Capitalization:
36093609
<dd>Enables display of petite capitals for both upper and lowercase
36103610
letters (OpenType features: <span class=tag>c2pc, pcap</span>).
36113611

3612+
<dt><dfn id=unicase>unicase</dfn>
3613+
3614+
<dd>Enables display of mixture of small capitals for uppercase letters
3615+
with normal lowercase letters (OpenType feature: <span
3616+
class=tag>unic</span>).
3617+
36123618
<dt><dfn id=titling-caps>titling-caps</dfn>
36133619

36143620
<dd>Enables display of titling capitals (OpenType feature: <span
36153621
class=tag>titl</span>). Uppercase letter glyphs are often designed for
36163622
use with lowercase letters. When used in all uppercase titling sequences
36173623
they can appear too strong. Titling capitals are designed specifically
36183624
for this situation.
3625+
</dl>
36193626

3620-
<dt><dfn id=unicase>unicase</dfn>
3627+
<p>This property allows the selection of alternate glyphs used for small or
3628+
petite capitals or for titling. These glyphs are specifically designed to
3629+
blend well with the surrounding normal glyphs, to maintain the weight and
3630+
readability which suffers when text is simply resized to fit this purpose.
36213631

3622-
<dd>Enables display of mixture of small capitals for uppercase letters
3623-
with normal lowercase letters (OpenType feature: <span
3624-
class=tag>unic</span>).
3625-
</dl>
3632+
<p>The availability of these glyphs is based on whether a given feature is
3633+
defined or not in the feature list of the font. User agents can optionally
3634+
decide this on a per-script basis but should explicitly not decide this on
3635+
a per-character basis.
36263636

3627-
<p>For backwards compatibility with CSS 2.1, if ‘<a
3637+
<p>Some fonts may only support a subset or none of the features described
3638+
for this property. For backwards compatibility with CSS 2.1, if ‘<a
36283639
href="#small-caps"><code class=property>small-caps</code></a>’ or ‘<a
36293640
href="#all-small-caps"><code class=property>all-small-caps</code></a>
36303641
is specified but small-caps glyphs are not available for a given font,
36313642
user agents should simulate a small-caps font, for example by taking a
3632-
normal font and replacing the lowercase letters by scaled uppercase
3633-
characters (and also uppercase letters in the case of ‘<a
3643+
normal font and replacing the glyphs for lowercase letters with scaled
3644+
versions of the glyphs for uppercase characters (replacing the glyphs for
3645+
both upper and lowercase letters in the case of ‘<a
36343646
href="#all-small-caps"><code class=property>all-small-caps</code></a>’).
3635-
The availability of these glyphs is based on whether a given feature is
3636-
defined or not in the feature list of the font. User agents can optionally
3637-
decide this on a per-script basis.
36383647

3639-
<p>As a last resort, unscaled uppercase letter glyphs in a normal font may
3640-
replace glyphs in a small-caps font so that the text appears in all
3641-
uppercase letters. If either ‘<a href="#petite-caps"><code
3648+
<div class=figure style="padding: 0; margin: auto;"><img alt="synthetic vs.
3649+
real small-caps" class=hires src=synthetic-vs-real-small-caps.png
3650+
width=512px>
3651+
<p class=caption>Synthetic vs. real small-caps
3652+
</div>
3653+
3654+
<p>To match the surrounding text, a font may provide alternate glyphs for
3655+
caseless characters when these features are enabled but when a user agent
3656+
simulates small capitals, it must not attempt to simulate alternates for
3657+
codepoints which are considered caseless.
3658+
3659+
<div class=figure style="padding: 0; margin: auto;"><img alt="caseless
3660+
characters with small-caps, all-small-caps enabled" class=hires
3661+
src=small-capitals-variations.png width=418px>
3662+
<p class=caption>Caseless characters with small-caps, all-small-caps
3663+
enabled
3664+
</div>
3665+
3666+
<p>If either ‘<a href="#petite-caps"><code
36423667
class=property>petite-caps</code></a>’ or ‘<a
36433668
href="#all-petite-caps"><code class=property>all-petite-caps</code></a>
36443669
is specified for a font that doesn't support these features, the property
36453670
behaves as if ‘<a href="#small-caps"><code
36463671
class=property>small-caps</code></a>’ or ‘<a
36473672
href="#all-small-caps"><code class=property>all-small-caps</code></a>’,
3648-
respectively, had been specified. If ‘<a href="#titling-caps"><code
3649-
class=property>titling-caps</code></a>’ is specified with a font that
3650-
does not support these features, this property has no visible effect. For
3673+
respectively, had been specified. If ‘<a href="#unicase"><code
3674+
class=property>unicase</code></a>’ is specified for a font that doesn't
3675+
support that feature, the property behaves as if ‘<a
3676+
href="#small-caps"><code class=property>small-caps</code></a>’ was
3677+
applied only to lowercased uppercase letters. If ‘<a
3678+
href="#titling-caps"><code class=property>titling-caps</code></a>’ is
3679+
specified with a font that does not support this feature, this property
3680+
has no visible effect. When simulated small capital glyphs are used, for
36513681
scripts that lack uppercase and lowercase letters, ‘<a
36523682
href="#small-caps"><code class=property>small-caps</code></a>’, ‘<a
36533683
href="#all-small-caps"><code class=property>all-small-caps</code></a>’,
@@ -3657,6 +3687,22 @@ <h3 id=font-variant-caps-prop><span class=secno>6.6 </span>Capitalization:
36573687
href="#unicase"><code class=property>unicase</code></a>’ have no visible
36583688
effect.
36593689

3690+
<p>When casing transforms are used to simulate small capitals, the casing
3691+
transformations should match those used for the <span
3692+
class=property><code class=property>text-transform</code></span>
3693+
property.
3694+
3695+
<p>As a last resort, unscaled uppercase letter glyphs in a normal font may
3696+
replace glyphs in a small-caps font so that the text appears in all
3697+
uppercase letters.
3698+
3699+
<div class=figure style="padding: 0; margin: auto;"><img alt="using
3700+
all-small-caps in acronym-laden text" class=hires
3701+
src=acronym-laden-text.png width=596px>
3702+
<p class=caption>Using small capitals to improve readability in
3703+
acronym-laden text
3704+
</div>
3705+
36603706
<div class=example>
36613707
<p>Quotes rendered italicised, with small-caps on the first line:</p>
36623708

@@ -3666,10 +3712,6 @@ <h3 id=font-variant-caps-prop><span class=secno>6.6 </span>Capitalization:
36663712
&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>
36673713
</pre>
36683714
</div>
3669-
3670-
<p>Insofar as this property causes text to be transformed to uppercase, the
3671-
same considerations as for <span class=property><code
3672-
class=property>text-transform</code></span> apply.</p>
36733715
<!-- prop: font-variant-numeric -->
36743716

36753717
<h3 id=font-variant-numeric-prop><span class=secno>6.7 </span>Numerical
@@ -4376,7 +4418,7 @@ <h3 id=font-variant-prop><span class=secno>6.11 </span>Overall shorthand
43764418
swash(&lt;feature-value-name&gt;) ||
43774419
ornaments(&lt;feature-value-name&gt;) ||
43784420
annotation(&lt;feature-value-name&gt;) || [ small-caps | all-small-caps
4379-
| petite-caps | all-petite-caps | titling-caps | unicase ] ||
4421+
| petite-caps | all-petite-caps | unicase | titling-caps ] ||
43804422
&lt;numeric-figure-values&gt; || &lt;numeric-spacing-values&gt; ||
43814423
&lt;numeric-fraction-values&gt; || ordinal || slashed-zero ||
43824424
&lt;east-asian-variant-values&gt; || &lt;east-asian-width-values&gt; ||
@@ -5019,33 +5061,14 @@ <h2 class=no-num id=font-feature-values-DOM>Appendix B: DOM Interfaces</h2>
50195061
<h2 class=no-num id=ch-ch-ch-changes>Changes</h2>
50205062

50215063
<h3 class=no-num id=recent-changes> Changes from the <a
5022-
href="http://www.w3.org/TR/2011/WD-css3-fonts-20111004/">October 2011 CSS3
5064+
href="http://www.w3.org/TR/2012/WD-css3-fonts-20120823/">August 2012 CSS3
50235065
Fonts Working Draft</a></h3>
50245066

50255067
<p>Major changes include:
50265068

50275069
<ul>
5028-
<li>Based on TPAC resolution, same-origin restriction is normative
5029-
5030-
<li>Added parameter specifics for using CORS with font loads
5031-
5032-
<li>Revised fallback handling of subscript/superscript variants
5033-
5034-
<li>Switched to using CSS3 Values and Units hash notation for
5035-
comma-delimited lists
5036-
5037-
<li>Reworked font-family syntax to be clearer about the use of keywords in
5038-
unquoted font family names
5039-
5040-
<li>Tightened the syntax of font-feature-settings to only allow
5041-
four-character tags
5042-
5043-
<li>Added missing definitions of default values for some properties
5044-
5045-
<li>Reworked description of default features and added ‘<code
5046-
class=property>none</code>’ value for ‘<a
5047-
href="#propdef-font-variant-ligatures"><code
5048-
class=property>font-variant-ligatures</code></a>
5070+
<li>Tightened description and fixed errors in description of
5071+
font-variant-caps
50495072
</ul>
50505073

50515074
<h2 class=no-num id=acknowledgments>Acknowledgments</h2>
@@ -5811,7 +5834,7 @@ <h2 class=no-num id=property-index>Property index</h2>
58115834
swash(&lt;feature-value-name&gt;) ||
58125835
ornaments(&lt;feature-value-name&gt;) ||
58135836
annotation(&lt;feature-value-name&gt;) || [ small-caps | all-small-caps
5814-
| petite-caps | all-petite-caps | titling-caps | unicase ] ||
5837+
| petite-caps | all-petite-caps | unicase | titling-caps ] ||
58155838
&lt;numeric-figure-values&gt; || &lt;numeric-spacing-values&gt; ||
58165839
&lt;numeric-fraction-values&gt; || ordinal || slashed-zero ||
58175840
&lt;east-asian-variant-values&gt; || &lt;east-asian-width-values&gt; ||
@@ -5853,7 +5876,7 @@ <h2 class=no-num id=property-index>Property index</h2>
58535876
href="#propdef-font-variant-caps">font-variant-caps</a>
58545877

58555878
<td>normal | small-caps | all-small-caps | petite-caps | all-petite-caps
5856-
| titling-caps | unicase
5879+
| unicase | titling-caps
58575880

58585881
<td>normal
58595882

@@ -6009,7 +6032,7 @@ <h2 class=no-num id=property-index>Property index</h2>
60096032
swash(&lt;feature-value-name&gt;) ||
60106033
ornaments(&lt;feature-value-name&gt;) ||
60116034
annotation(&lt;feature-value-name&gt;) || [ small-caps | all-small-caps
6012-
| petite-caps | all-petite-caps | titling-caps | unicase ] ||
6035+
| petite-caps | all-petite-caps | unicase | titling-caps ] ||
60136036
&lt;numeric-figure-values&gt; || &lt;numeric-spacing-values&gt; ||
60146037
&lt;numeric-fraction-values&gt; || ordinal || slashed-zero ||
60156038
&lt;east-asian-variant-values&gt; || &lt;east-asian-width-values&gt; ||
@@ -6039,6 +6062,19 @@ <h2 class=no-num id=property-index>Property index</h2>
60396062
<td>U+0-10FFFF
60406063
</table>
60416064
<!--end-descriptors-->
6065+
<script type="text/javascript">
6066+
window.onload = function () {
6067+
if (!("devicePixelRatio" in window && window.devicePixelRatio > 1)) return;
6068+
var i, hiresElements = document.getElementsByClassName("hires");
6069+
for (i = 0; i < hiresElements.length; i++) {
6070+
var h = hiresElements[i];
6071+
if (h.tagName != "IMG") continue;
6072+
var src = h.getAttribute("src");
6073+
var src2x = src.replace(/\.\w+$/, function(m) { return "@2x" + m; });
6074+
h.src = src2x;
6075+
}
6076+
}
6077+
</script>
60426078
</html>
60436079
<!-- Keep this comment at the end of the file
60446080
Local variables:

css3-fonts/acronym-laden-text.png

132 KB
Loading
107 KB
Loading
80.6 KB
Loading
73.3 KB
Loading
37 KB
Loading
32.7 KB
Loading

0 commit comments

Comments
 (0)