- From: John Daggett <jdaggett@mozilla.com>
- Date: Mon, 20 May 2013 20:15:56 -0700 (PDT)
- To: www-style@w3.org
One general comment, since you're going through the spec section by
section, could you post your comments with better subject descriptions
rather than "Minor comments xxx"?
fantasai wrote:
> # If these descriptors are omitted, default values are
> # assumed.
> which, assuming default=initial, means that a bold font will
> not be considered font-weight: bold; unless that descriptor
> is there.
>
> # User agents that implement synthetic bolding and
> # obliqueing must only apply synthetic styling in cases
> # where the font descriptors imply this is needed, rather
> # than based on the style attributes implied by the font
> # data.
>
> I don't understand this. IMO synthetic bolding or obliquing
> should only be applied to a downloaded font if the author
> asks for a bold/oblique version and there isn't one available,
For font families defined via @font-face rules, font matching occurs
via the style descriptors defined in the @font-face rules. So the style
characteristics defined within font data (e.g. the weight/width values
in the OS/2 table) have no effect on the font weight assigned to a
particular face. So synthetic faces are created based on whether
the set of faces lack italic/bold faces as defined via these descriptor
values and *not* what's in the font data for a particular face.
> @font-face { font-family: foo; src: local(foo); }
> p { font-family: foo; }
> em { font-weight: bold; }
> /* em will synthesize bold, cuz we didn't have one */
>
> vs.
>
> @font-face { font-family: foo; src: local(foo); }
> @font-face { font-family: foo; src: local(foo bold);
> font-weight: bold; }
> p { font-family: foo; }
> em { font-weight: bold; }
> /* em will not synthesize bold, cuz we have one */
For <em> elements in these examples, you'll get synthetic bold in the
first one, not in the second one. You'll get synthetic italics in
both cases.
> While we're on this example, just wanted to clarify...
> does the rule above mean that even if there's a foo italic on the
> system, it will never be used because we defined a font-family foo
> via @font-face?
Yes. A single @font-face rule defines a single face and local() refers
to a single face, not a family.
Cheers,
John Daggett
Received on Tuesday, 21 May 2013 03:16:27 UTC