[css-fonts] Simplify the syntax definitions of @font-face and @font-feature-values

The two at-rules in the Fonts spec can be specified in a much simpler
and easier-to-read manner, now that I've defined rules for rule
grammars.

For @font-face:

~~~~
The grammar for @font-face is:

@font-face { <declaration-list> }

The valid declarations inside a @font-face rule are the descriptors
defined in this specification to apply to @font-face.
~~~~

For @font-feature-values:

~~~~
The grammar for @font-feature-values is:

@font-feature-values <'font-family'># { <rule-list> }

The valid rules inside a @font-feature-values are <font-feature-rule>s:

<font-feature-rule> = [@stylistic | @styleset | ...] { <declaration-list> }

The declarations inside a <font-feature-rule> are descriptors.  Any
descriptor name is valid.
~~~~

This cuts out a decent chunk of the syntax and error-handling
description.  You just need to keep a bit about merging rules
together, and what they actually define (your descriptions of a tuples
map).

~TJ

Received on Thursday, 23 May 2013 20:35:20 UTC