- From: Etan Wexler <ewexler@stickdog.com>
- Date: Fri, 20 Aug 2004 21:03:52 -0700
- To: www-style@w3.org
Bert, I thank you for responding. I hope that your response is an indication that the Working Group is studying the issue at hand. Bert Bos wrote to <mailto:www-style@w3.org> on 20 August 2004 in "Re: [CSS21] Font-family syntax" (<mid:16678.20219.160012.538488@lanalana.inria.fr>): > I think there is no parsing error: the parentheses are balanced and > there > are no forbidden characters. I'm not a machine, but I think the tokens > are (omitting the whitespace tokens for brevity): > > IDENT -> Trouble > DELIM -> : > IDENT -> A > ( -> ( > IDENT -> Very > ) -> ) > IDENT -> Troublesome > IDENT -> Type > IDENT -> Family > DELIM -> & > IDENT -> Interesting > IDENT -> Prospect > DELIM -> . > > It matches the general syntax for declarations and nothing in the > 'font-family' definition forbids any of these tokens, as far as I > know. But Appendix G, section, which declares itself normative, gives the following productions. The productions forbid the appearance of the colon, parentheses, ampersand, and period. Generate a parser from the productions and let's run tests, if that is needed to prove the point. If there is anything else that I can do to explain or demonstrate the issue, please let me know. operator : '/' S* | COMMA S* | /* empty */ ; unary_operator : '-' | PLUS ; property : IDENT S* ; declaration : property ':' S* expr prio? | /* empty */ ; prio : IMPORTANT_SYM S* ; expr : term [ operator term ]* ; term : unary_operator? [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* | TIME S* | FREQ S* | function ] | STRING S* | IDENT S* | URI S* | hexcolor ; function : FUNCTION S* expr ')' S* ; /* * There is a constraint on the color that it must * have either 3 or 6 hex-digits (i.e., [0-9a-fA-F]) * after the "#"; e.g., "#000" is OK, but "#abcd" is not. */ hexcolor : HASH S* ; -- Etan Wexler.
Received on Saturday, 21 August 2004 04:06:08 UTC