Skip to content

Commit 062fc73

Browse files
author
John Daggett
committed
[css-fonts] font feature properties copyedits
1 parent 27d708f commit 062fc73

1 file changed

Lines changed: 85 additions & 60 deletions

File tree

css-fonts/Fonts.html

Lines changed: 85 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1847,8 +1847,10 @@ <h3 id=font-prop><span class=secno>3.7 </span>Shorthand font property: the
18471847
stylesheet. Values for the <a href="#propdef-font-variant"
18481848
title="font-variant!!property"><code
18491849
class=property>font-variant</code></a> property may also be included
1850-
but only those supported in CSS 2.1, none of the font-variant values added
1851-
in this specification can be used in the <span class=property><a
1850+
but only those supported in CSS 2.1, none of the <a
1851+
href="#propdef-font-variant" title="font-variant!!property"><code
1852+
class=property>font-variant</code></a> values added in this
1853+
specification can be used in the <span class=property><a
18521854
href="#propdef-font"><code class=property>font</code></a></span>
18531855
shorthand:
18541856

@@ -3420,24 +3422,25 @@ <h2 id=font-rend-props><span class=secno>6 </span>Font Feature Properties</h2>
34203422
provide glyphs for a wide range of ligatures, contextual and stylistic
34213423
alternates, tabular and old-style figures, small capitals, automatic
34223424
fractions, swashes, and alternates specific to a given language. To allow
3423-
authors control over these font capabilities, the font-variant property
3424-
has been expanded for CSS3, it now functions as a shorthand for a set of
3425-
properties that provide control over stylistic font features.
3425+
authors control over these font capabilities, the ‘<code
3426+
class=property>font-variant</code>’ property has been expanded for CSS3.
3427+
It now functions as a shorthand for a set of properties that provide
3428+
control over stylistic font features.
34263429

34273430
<h3 id=glyph-selection-positioning><span class=secno>6.1 </span>Glyph
34283431
selection and positioning</h3>
34293432

34303433
<p>Simple fonts used for displaying Latin text use a very basic processing
3431-
model, fonts contain a <a href="#character-map"><em>character map</em></a>
3432-
which maps a given character to a glyph for that character. Glyphs for
3433-
subsequent characters are simply placed next in line along a run of text.
3434-
Font formats such as OpenType and AAT (Apple Advanced Typography) use a
3435-
richer processing model, the glyph for a given character can be chosen and
3436-
positioned not just based on a single character, but also based on
3437-
surrounding characters along with the language, script, and features
3438-
enabled for the text. Font features may be required for specific scripts,
3439-
or recommended as enabled by default or they may be stylistic features
3440-
meant to be used under author control.
3434+
model. Fonts contain a <a href="#character-map"><em>character map</em></a>
3435+
which maps each character to a glyph for that character. Glyphs for
3436+
subsequent characters are simply placed one after the other along a run of
3437+
text. Modern font formats such as OpenType and AAT (Apple Advanced
3438+
Typography) use a richer processing model. The glyph for a given character
3439+
can be chosen and positioned not just based on the codepoint of the
3440+
character itself, but also on adjacent characters as well as the language,
3441+
script, and features enabled for the text. Font features may be required
3442+
for specific scripts, or recommended as enabled by default or they might
3443+
be stylistic features meant to be used under author control.
34413444

34423445
<p>For a good visual overview of these features, see the <a
34433446
href="#OPENTYPE-FONT-GUIDE"
@@ -3446,40 +3449,43 @@ <h3 id=glyph-selection-positioning><span class=secno>6.1 </span>Glyph
34463449
href="#WINDOWS-GLYPH-PROC"
34473450
rel=biblioentry>[WINDOWS-GLYPH-PROC]<!--{{WINDOWS-GLYPH-PROC}}--></a>.
34483451

3449-
<p>Stylistic font features can be classified into two broad categories,
3452+
<p>Stylistic font features can be classified into two broad categories:
34503453
ones that affect the harmonization of glyph shapes with the surrounding
3451-
context, such as kerning and ligature features, and those such as the
3454+
context, such as kerning and ligature features, and ones such as the
34523455
small-caps, subscript/superscript and alternate features that affect shape
34533456
selection.
34543457

3455-
<p>The subproperties of font-variant listed below are used to control these
3456-
stylistic font features; they do not control features that are required
3457-
for displaying certain scripts, such as the OpenType features used when
3458-
displaying Arabic or Indic language text. They affect glyph selection and
3459-
positioning, they do not affect font selection as described in the font
3460-
matching section (except in cases required for compatibility with CSS
3461-
2.1).
3458+
<p>The subproperties of <a href="#propdef-font-variant"
3459+
title="font-variant!!property"><code
3460+
class=property>font-variant</code></a> listed below are used to control
3461+
these stylistic font features. They do not control features that are
3462+
required for displaying certain scripts, such as the OpenType features
3463+
used when displaying Arabic or Indic language text. They affect glyph
3464+
selection and positioning, but do not affect font selection as described
3465+
in the font matching section (except in cases required for compatibility
3466+
with CSS 2.1).
34623467

34633468
<p>To assure consistent behavior across user agents, the equivalent
3464-
OpenType property settings are listed for individual properties and must
3465-
be considered normative. When using other font formats these should be
3466-
used as a guideline to map CSS font feature property values to specific
3467-
font features.
3469+
OpenType property settings are listed for individual properties and are
3470+
normative. When using other font formats these should be used as a
3471+
guideline to map CSS font feature property values to specific font
3472+
features.
34683473

34693474
<h3 id=language-specific-support><span class=secno>6.2
34703475
</span>Language-specific display</h3>
34713476

34723477
<p>OpenType also supports language-specific glyph selection and
34733478
positioning, so that text can be displayed correctly in cases where the
3474-
language dictates a specific display behavior. Languages often share a
3475-
common script but the shape of certain letters may vary across those
3476-
languages, such as the variations in certain Cyrillic letters used in
3477-
Russian and Bulgarian text. In Latin text, it's common to render "fi" with
3478-
an explicit fi-ligature that lacks a dot on the "i". However, in languages
3479-
such as Turkish which uses both a dotted-i and a dotless-i, it's important
3480-
to not use this ligature or use a specialized version that contains a dot
3481-
over the "i". The example below shows language-specific variations based
3482-
on stylistic traditions found in Spanish, Italian and French orthography:
3479+
language dictates a specific display behavior. Many languages share a
3480+
common script, but the shape of certain letters can vary across those
3481+
languages. For example, certain Cyrillic letters have different shapes in
3482+
Russian text than in Bulgarian. In Latin text, it's common to render "fi"
3483+
with an explicit fi-ligature that lacks a dot on the "i". However, in
3484+
languages such as Turkish which uses both a dotted-i and a dotless-i, it's
3485+
important to not use this ligature or use a specialized version that
3486+
contains a dot over the "i". The example below shows language-specific
3487+
variations based on stylistic traditions found in Spanish, Italian and
3488+
French orthography:
34833489

34843490
<div class=featex><img alt="language specific forms, spanish"
34853491
src=locl-1.png></div>
@@ -3490,7 +3496,7 @@ <h3 id=language-specific-support><span class=secno>6.2
34903496
<div class=featex><img alt="language specific forms, french"
34913497
src=locl-3.png></div>
34923498

3493-
<p>If the content language of the element is known, according to the rules
3499+
<p>If the content language of the element is known according to the rules
34943500
of the <a
34953501
href="http://www.w3.org/TR/CSS21/conform.html#doclanguage">document
34963502
language</a>, user agents are required to infer the OpenType language
@@ -4639,7 +4645,10 @@ <h3 id=font-feature-values><span class=secno>6.9 </span>Defining font
46394645
union of these rules. This allows a set of named-values to be defined for
46404646
a given font family globally for a site and specific additions made
46414647
per-page. If the same &lt;feature-value-name&gt; is defined mulitple times
4642-
for a given font-variant value, the last defined value is used.
4648+
for a given <a href="#propdef-font-variant"
4649+
title="font-variant!!property"><code
4650+
class=property>font-variant</code></a> value, the last defined value is
4651+
used.
46434652

46444653
<pre>
46454654
site.css:
@@ -4681,8 +4690,12 @@ <h3 id=font-feature-values><span class=secno>6.9 </span>Defining font
46814690
Each property value that is font specific is clearly marked as such.
46824691
Feature value names follow the rules of CSS user identifiers and are
46834692
case-sensitive. They are unique only for a given set of font families and
4684-
font-variant property value; the same identifier used with a different
4685-
font-variant property value is treated as a separate and distinct value.
4693+
<a href="#propdef-font-variant" title="font-variant!!property"><code
4694+
class=property>font-variant</code></a> property value; the same
4695+
identifier used with a different <a href="#propdef-font-variant"
4696+
title="font-variant!!property"><code
4697+
class=property>font-variant</code></a> property value is treated as a
4698+
separate and distinct value.
46864699

46874700
<p>Using a commonly named value allows authors to use a single style rule
46884701
to cover a set of fonts for which the underlying selector is different for
@@ -4703,9 +4716,11 @@ <h3 id=font-feature-values><span class=secno>6.9 </span>Defining font
47034716
font-variant: annotation(circled);
47044717
}</pre>
47054718

4706-
<p>Most font specific font-variant property values take a single value
4707-
(e.g. swash). The character-variant property value allows two values and
4708-
styleset allows an unlimited number. If a larger number of values are
4719+
<p>Most font specific <a href="#propdef-font-variant"
4720+
title="font-variant!!property"><code
4721+
class=property>font-variant</code></a> property values take a single
4722+
value (e.g. swash). The character-variant property value allows two values
4723+
and styleset allows an unlimited number. If a larger number of values are
47094724
assigned to a given name, a syntax error occurs and the entire
47104725
&lt;font-feature-values-declaration&gt; is ignored.
47114726

@@ -5065,20 +5080,26 @@ <h3 id=font-variant-prop><span class=secno>6.11 </span>Overall shorthand
50655080
<td>see individual properties
50665081
</table>
50675082

5068-
<p>The ‘<code class=property>font-variant</code>’ property is a
5069-
shorthand for all font-variant subproperties. The value <dfn
5070-
id=font-variant-normal-value title="normal!!font-variant"><code
5071-
class=property>normal</code></dfn> resets all subproperties of
5072-
font-variant to their inital value. The <dfn id=font-variant-none-value
5073-
title="none!!font-variant"><code class=property>none</code></dfn>
5074-
value sets ‘<a href="#propdef-font-variant-ligatures"><code
5083+
<p>The <a href="#propdef-font-variant"
5084+
title="font-variant!!property"><code
5085+
class=property>font-variant</code></a> property is a shorthand for all
5086+
font-variant subproperties. The value <dfn id=font-variant-normal-value
5087+
title="normal!!font-variant"><code
5088+
class=property>normal</code></dfn> resets all subproperties of <a
5089+
href="#propdef-font-variant" title="font-variant!!property"><code
5090+
class=property>font-variant</code></a> to their inital value. The <dfn
5091+
id=font-variant-none-value title="none!!font-variant"><code
5092+
class=property>none</code></dfn> value sets ‘<a
5093+
href="#propdef-font-variant-ligatures"><code
50755094
class=property>font-variant-ligatures</code></a>’ to ‘<code
50765095
class=property>none</code>’ and resets all other font feature properties
50775096
to their initial value. Like other shorthands, using <a
50785097
href="#propdef-font-variant" title="font-variant!!property"><code
5079-
class=property>font-variant</code></a> resets unspecified font-variant
5080-
subproperties to their initial values. It does not reset the values of
5081-
either ‘<a href="#propdef-font-language-override"><code
5098+
class=property>font-variant</code></a> resets unspecified <a
5099+
href="#propdef-font-variant" title="font-variant!!property"><code
5100+
class=property>font-variant</code></a> subproperties to their initial
5101+
values. It does not reset the values of either ‘<a
5102+
href="#propdef-font-language-override"><code
50825103
class=property>font-language-override</code></a>’ or <a
50835104
href="#propdef-font-feature-settings"
50845105
title="font-feature-settings!!property"><code
@@ -5438,9 +5459,11 @@ <h3 id=feature-precedence><span class=secno>7.2 </span>Feature precedence</h3>
54385459

54395460
<li>Font features implied by the value of the <a
54405461
href="#propdef-font-variant" title="font-variant!!property"><code
5441-
class=property>font-variant</code></a> property, the related
5442-
font-variant subproperties and any other CSS property that may use
5443-
OpenType features (e.g. the ‘<a href="#propdef-font-kerning"><code
5462+
class=property>font-variant</code></a> property, the related <a
5463+
href="#propdef-font-variant" title="font-variant!!property"><code
5464+
class=property>font-variant</code></a> subproperties and any other CSS
5465+
property that may use OpenType features (e.g. the ‘<a
5466+
href="#propdef-font-kerning"><code
54445467
class=property>font-kerning</code></a>’ property).
54455468

54465469
<li>Font features implied by the value of <a
@@ -5755,9 +5778,11 @@ <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
57555778
of character variant usage for displaying text on Byzantine seals. Ken
57565779
Lunde and Eric Muller provided valuable feedback on CJK OpenType features
57575780
and Unicode variation selectors. The idea for supporting font features by
5758-
using font-variant subproperties originated with Håkon Wium Lie, Adam
5759-
Twardoch and Tal Leming. Elika Etemad supplied some of the initial design
5760-
ideas for the <a
5781+
using <a href="#propdef-font-variant"
5782+
title="font-variant!!property"><code
5783+
class=property>font-variant</code></a> subproperties originated with
5784+
Håkon Wium Lie, Adam Twardoch and Tal Leming. Elika Etemad supplied some
5785+
of the initial design ideas for the <a
57615786
href="#at-font-feature-values-rule"><code>@font-feature-values</code></a>
57625787
rule. Thanks also to House Industries for allowing the use of Ed Interlock
57635788
in the discretionary ligatures example.

0 commit comments

Comments
 (0)