- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Tue, 25 Sep 2012 14:50:53 -0700
- To: "www-style@w3.org" <www-style@w3.org>
During discussions about the @font-feature-values rule syntax, there were several variations that came up. I wanted to bring up one of the other variations for comparison and hear what other people think about their relative merits. The @font-feature-values rule is used to bind a name to a font feature code in the context of a particular font. If multiple name bindings for the same feature type are declared, they all take effect, except when reusing the same name the last declared value wins. Variation A is the one in the draft. It looks like this: @font-feature-values <font-name> { @<feature-type> <ident> <value>, <ident> <value, ...; ... } Here's an example from the draft: @font-feature-values Mars Serif { @styleset alt-g 1, curly-quotes 3, code 4 5; @styleset dumb 25; @swash swishy 3 5; } Variation B uses a syntax similar to standard rule sets: @font-feature-values <font-name> { <feature-type> { <ident>: <value>; <ident>: <value>; ... } ... } Here's the equivalent example in this syntax: @font-feature-values Mars Serif { styleset { alt-g: 1; curly-quotes: 3; code: 4 5; } styleset { dumb: 25; } swash { swishy: 3 5; } } The primary benefit of Variation A is that it's slightly more compact, since it doesn't use curly braces. The primary benefit of Variation B is that the cascading behavior of the name bindings behaves exactly as you would expect from the syntax: exactly as if the feature type were an element type selector, and the name declarations were property declarations. ~fantasai
Received on Wednesday, 26 September 2012 03:03:54 UTC