- From: Erik van der Poel <erik@netscape.com>
- Date: Sun, 14 Nov 1999 11:04:01 -0800
- To: www-style <www-style@w3.org>
Ian Hickson wrote:
>
> On Tue, 9 Nov 1999, Erik van der Poel wrote:
> >
> > CSS2, section 15.3.1:
> >
> > Note that if the font 'Robson Celtic' had been installed on the
> > client system, this would have caused the UA to add an entry in
> > the font database for the installed copy as described in the
> > section on the font matching algorithm. The installed copy
> > would have been matched before the downloadable font in the
> > example above.
> >
> > Which part of the CSS2 spec specifies how the various @font-face rules
> > override each other?
>
> The penultimate paragraph of section 15.3.1 reads:
> # If a font descriptor is duplicated, the last occurring descriptor
> # wins and the rest must be ignored.
I did actually notice that paragraph, but I think it's referring to the
descriptors, not the @font-face rules. For example, the "src" descriptor
is duplicated in the following @font-face rule:
@font-face {
font-family: Foo;
src: url("http://this/one/loses");
src: url("http://this/one/wins");
}
My question was about the example given in the spec. That example refers
to a "Robson Celtic" installed on the machine. Presumably, that means
that the following @font-face rule would be added to the database by the
UA:
@font-face {
font-family: "Robson Celtic";
src: local("Robson Celtic");
}
In the example, the document contains the following @font-face rule:
@font-face {
font-family: "Robson Celtic";
src: url("http://site/fonts/rob-celt")
}
The spec says that the installed copy would have been matched before the
downloadable font. So, my question is: Which part of the CSS2 spec
states how one @font-face rule is matched before another? In the example
above, is it because the UA's @font-face rules take precedence over any
@font-face rules in the document? Or is it because locally installed
fonts take precedence over downloadable ones? Or some other reason?
> > Does this mean that the document can specify its own font
> > descriptors for the generic font "serif", and that these descriptors
> > will be used rather than the UA's own descriptors?
>
> Yes, since the 'font-family' descriptor takes <generic-family> and the
> author's CSS sheet comes after the UA's.
I understand that the UA ought to let the user select fonts for each of
the generics (serif, monospace, etc). The 3rd paragraph of section
15.2.6 says:
User agents are encouraged to allow users to select
alternative choices for the generic fonts.
I suppose this could be implemented via a user style sheet. So, is an
author style sheet supposed to be able to specify its own descriptors
for the generic fonts? If all 3 of the style sheets (UA, user and
author) specify descriptors for the generic fonts, which one wins?
For properties, CSS2 states the following precedence rule:
author > user > UA
For !important declarations, the following rule:
user > author > UA
However, @font-face rules contain font *descriptors*, not font
*properties*. So, do @font-face rules follow the same precedence rules
as properties? If not, what rule(s) do they follow? Also, is it possible
to attach !important to @font-face rules and/or font descriptors?
Erik
Received on Sunday, 14 November 1999 14:05:55 UTC