The @font-feature-values
CSS at-rule allows authors to use a common name in font-variant-alternates
for feature activated differently in OpenType. It allows to simplify the CSS when using several fonts.
@font-feature-values Font One { /* How to activate nice-style in Font One */ @styleset { nice-style: 12; } } @font-feature-values Font Two { /* How to activate nice-style in Font Two */ @styleset { nice-style: 4; } } … .nice-look { font-variant-alternates: styleset(nice-style); } /* Independent of the font */
The @font-feature-values
at-rule may be used at the top level of a CSS, but also inside any CSS conditional-group at-rule.
@swash
swash()
functional notation of font-variant-alternates
. A swash feature value definition allows only one value: ident1: 2
is valid when ident2: 2 4
isn't.@annotation
annotation()
functional notation of font-variant-alternates
. An annotation feature value definition allows only one value: ident1: 2
is valid when ident2: 2 4
isn't.@ornaments
ornaments()
functional notation of font-variant-alternates
. An ornaments feature value definition allows only one value: ident1: 2
is valid when ident2: 2 4
isn't.@stylistic
stylistic()
functional notation of font-variant-alternates
. A stylistice feature value definition allows only one value: ident1: 2
is valid when ident2: 2 4
isn't.@styleset
styleset()
functional notation of font-variant-alternates
. A stylset feature value definition allows and illimited amount of values: ident1: 2 4 12 1
maps to the OpenType values ss02
, ss04
, ss12
, ss01
. Note that values higher than 99
are valid, but doesn't map to any OpenType values and are ignored.@character-variant
character-variant()
functional notation of font-variant-alternates
. A character-variant feature value definition allows one or two values: ident1: 2
maps to cv02=1
and ident2: 2 4
maps to cv02)4
and ident2: 2 4 5
isn't valid.@font-feature-values <family-name># { <feature-value-block-list> }where
<family-name> = <string> | <custom-ident>+
<feature-value-block-list> = <feature-value-block>+where
<feature-value-block> = <feature-type> { <feature-value-declaration-list> }where
<feature-type> = @stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation
<feature-value-declaration-list> = <feature-value-declaration>where
<feature-value-declaration> = <custom-ident>: <integer>+;
Specification | Status | Comment |
---|---|---|
CSS Fonts Module Level 3 The definition of '@font-feature-values' in that specification. | Candidate Recommendation | Initial definition |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | ? | 34 (34) [1] | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | 34.0 (34) [1] | ? | ? | ? |
[1] Experimental implementation of the CSS Fonts Level 3 extensions was available since Gecko 24. It was governed by the preference layout.css.font-features.enabled
defaulting to true
on Nightly and Aurora only.
font-variant-alternates
property that uses values that this at-rule defines.
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-feature-values