re: [css3-fonts] invalid ranges within unicode-range descriptor (was: Re: [css3-fonts] Not-quite-so-minor Comments V)

fantasai wrote (regarding the @font-face rule unicode-range descriptor):

>    # Without any valid ranges, the descriptor is omitted.
> 
> I disagree with this. If there aren't any valid ranges,
> the range should be the null set, not *everything*.

I think there are a couple reasons why this isn't a good idea.  I
spec'ed the behavior above because it's roughly equivalent to the
handling of properties with invalid values: 

  font-style: italic;
  font-style: whizzy;  /* invalid value, font-style: italic used */

Ignoring a descriptor when the ranges aren't valid allows future
syntax to be added in a way that an author can also include descriptor
declarations for older user agents.

For example, if we decide to add a way to specify named ranges to
unicode-range:

  unicode-range: u+3000:ffff;  /* all kana/kanji */
  unicode-range: range(jis1);  /* using new syntax, just the JIS1 subset */

User agents that understood the 'range()' function would use that
definition while older user agents would use the first one.

I think the existing definition is in better keeping with CSS
traditions and the expectations of authors.

Cheers,

John Daggett

Received on Tuesday, 21 May 2013 04:48:55 UTC