RE: [RC3] font-family-rule-017 (was RE: review of Microsoft CSS 2.1 font tests)

On Wednesday, December 08, 2010 11:55 AM Gérard Talbot wrote:
> Le Mer 8 décembre 2010 8:52, Arron Eicholz a écrit :
> > On Tuesday, December 07, 2010 11:22 AM Gérard Talbot
> >> Le Mer 20 janvier 2010 7:20, John Daggett a écrit :
> 
> 
> >> > font-family-rule-017.xht
> >> http://test.csswg.org/suites/css2.1/20101027/html4/font-family-rule-
> 017.htm
> >> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter
> >> _15
> /font-family-rule-017.xht
> >> > According to the passing condition of the test, I don't see how a
> failure could occur.  The assertion also seems incorrect here - "Multiple white
> spaces not inside quoted font-family name can be collapsed to single white
> space OR not collapsed."  The wording in
> >> the
> >> > spec is pretty clear that it's collapsed.  If there's an errata
> that
> >> > applies somewhere, please add a reference.
> >> http://test.csswg.org/suites/css2.1/20101027/html4/font-family-rule-
> 017.htm
> >> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter
> >> _15
> /font-family-rule-017.xht
> >> Section 15.3 says
> >> "If quoting is omitted, any white space characters before and after
> the font
> >> name are ignored and any sequence of white space characters inside
> the
> >> font name is converted to a single space."
> >> http://www.w3.org/TR/CSS21/fonts.html#font-family-prop
> >> while the assert says
> >> "Multiple white spaces not inside quoted font-family name can be
> collapsed
> >> to single white space OR not collapsed."
> >> The "OR not collapsed" part is not true, not correct.
> 
> Arron,
> 
> there are still problems with font-family-rule-017 and I have misread the spec
> myself here and I insufficiently examined that testcase.
> 
> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15
> /font-family-rule-017.xht
> 
> Relevant code:
> 
>         <meta name="assert" content="Multiple white spaces not inside quoted
> font-family name can be collapsed to single white space."
> />
>         <style type="text/css">
> 
>             div
>             {
>                 font-family:      white     space    , "Times New
> Roman";
>             }
>         </style>
>     </head>
>     <body>
>         <p>PREREQUISITE: Operating system needs to have the '<a
> href="../support/AHEM_whitespace.ttf">White Space</a>' font
> installed.</p>
> 
>         <p>Test passes if there is either a letter "X" or a box below.</p>
> 
> 
> 
> 1-
> The latest spec was released yesterday! And section 15.3 dropped that
> sentence I was quoting. I think this is a mistake as it should inform on how to
> parse/deal with an unquoted font-family having multiple white spaces
> before, inside and/or after the font name.

But I have talked to John and he said he will review it and respond about this issue.

> 2-
> Assuming that the previous spec version is still correct, then the assert
> should have be saying rather:
> 
>  <meta name="assert" content="Multiple (1 or many) white spaces before
> and after an unquoted font-family name should be ignored. Multiple (more
> than 1) white spaces inside an unquoted font name should be converted to
> single white space." />
> 
> So that
> 
> font-family:      white     space    , "Times New Roman";
> should be equivalent to
> font-family:"white space", "Times New Roman";
> 
> This is exactly what Opera 10.63 does when viewing parsed CSS code in
> DragonFly. Firefox DOM inspector also show such parsed CSS code but
> without quotes wrapping.

I updated the assert. I truly appreciate your assert texts they are so much more clear than mine.

> 3-
> AHEM_whitespace.ttf has to correspond to "white space" as a font family
> name. It does not, at least under Linux. I installed AHEM_whitespace.ttf on
> my Linux system and the font name is "WhiteSpace", and not "white space".
> 
> I will try the testcase with Windows XP later.

The font name tables were incorrect I John just corrected the font for me and I updated in SVN.

> 4-
> <p>Test passes if there is either a letter "X" or a box below.</p>
> 
> This seems to mean that parsing the declaration and to render either white
> space  or Times New Roman is acceptable.
> 
> If we want to test how accurately browsers implement unquoted font family
> name with sequence(s) of white spaces (before and/or inside and/or after),
> then such pass condition is laxist, lenient, tolerant for no reasons. In fact,
> with such pass condition, the testcase as coded can never fail.
> 

It unfortunately needs to be relaxed like that because it is optional to collapse the space. It's a 'should' but not a 'must'. So it should pass if the space collapses and matches or does not collapse and does not match.

--
Thanks,
Arron Eicholz

Received on Tuesday, 11 January 2011 04:36:59 UTC