- From: Christopher Slye <cslye@adobe.com>
- Date: Fri, 17 Sep 2010 09:55:25 -0700
- To: John Daggett <jdaggett@mozilla.com>
- CC: www-style <www-style@w3.org>, www-font <www-font@w3.org>
Can I assume that <font-family> here can also be defined by an @font-face rule? It's not necessarily dependent on any particular font family names in the font itself?
Can <value-name> be shared? Can I define 'swash: swishy 1' for FontFamilyOne and 'swash: swishy 3' for FontFamilyTwo, then use 'swash(swishy)' to access the alternates in both families?
-Christopher
On Sep 16, 2010, at 5:41 PM, John Daggett wrote:
>
> During the discussion of font feature support at the last CSS meeting,
> there was a lot of concern expressed about the use of numeric
> selectors to choose specific glyph variants. Using an example from
> the spec:
>
> h2 { font-variant-alternates: styleset(3,5); }
> h2:first-letter { font-variant-alternates: swash(2); }
>
> These values are very font specific, if fallback occurs
> unintended glyph selection can occur. These values also poorly
> document their intended purpose.
>
> At the meeting Chris suggested using another @-rule to define
> explicit value names for specific families, so today fantasai
> and I hashed out a syntax:
>
> @font-feature-values <font-family> {
> <font-variant-value> : <value-list> [, <value-list>];
> <font-variant-value> : <value-list> [, <value-list>];
> .
> .
> }
>
> where:
>
> <font-family> :== font family name, quoted or unquoted
> <font-variant-value> :== the name of one of the font-specific font-variant values (e.g. swash, styleset, annotation)
> <value-list> :== <value-name> <integer>+
> <value-name> :== a user-defined identifier used to describe the numeric value
> <integer> := an integer value greater than 0
>
> Multiple integers would only be permitted for font-variant values that
> permitted multiple values (e.g. styleset, character-variant). Other
> font-variant values would only permit a single value.
>
> @font-feature-values My Lovely Font {
> swash: swishy 1, flowing 2;
> stylistic: long-k 2;
> styleset: alt-g 1, alt-m 3, curly-quotes 5, code 4 7 9;
> }
>
> body { font-family: My Lovely Font, GreatJapaneseFont, sans-serif; }
> h2 { font-variant-alternates: styleset(alt-m, curly-quotes); }
> h2:first-letter { font-variant-alternates: swash(flowing); }
>
> code { font-variant-alternates: styleset(code); }
> p { font-family: Another Lovely Font; }
>
> The style rules for h2 here are the same as in the original example
> using numeric values at the beginning of this message. If the headings
> contained Japanese, none of the font-variant settings would apply
> since the values aren't defined for GreatJapaneseFont.
>
> This does add more syntax but it nicely solves the fallback problem
> and leads to stylesheets that more clearly indicate the variants being
> used in a style rule.
>
Received on Friday, 17 September 2010 16:56:26 UTC