W3C home > Mailing lists > Public > www-style@w3.org > November 2008

Re: [css3-fonts] duplication and @font-face rules

From: John Daggett <jdaggett@mozilla.com>
Date: Tue, 18 Nov 2008 01:48:23 -0800 (PST)
To: www-style@w3.org
Message-ID: <31322488.245151227001703654.JavaMail.root@cm-mail01.mozilla.org>

> > 3. Handling multiple @font-face rules defining the same fonts
> > =============================================================
> >
> > Given two @font-face rules that describe the same font but have
> > different 'src' descriptors, which fonts are used?  For example:
> >
> > @font-face {
> >   font-family: "Foo";
> >   src: url(a.ttf);
> > }
> >
> > @font-face {
> >   font-family: "Foo";
> >   src: url(b.ttf);
> > }
> >
> > body { font-family: "Foo", Arial, sans-serif; }
> >
> > In this case, does the search for glyphs look in:
> >  (1) a.ttf, then b.ttf, then Arial, then other sans-serif fonts
> >  (2) b.ttf, then a.ttf, then Arial, then other sans-serif fonts
> >  (3) a.ttf, then Arial, then other sans-serif fonts
> >  (4) b.ttf, then Arial, then other sans-serif fonts
> > ?
> >
>
> It's a hassle to have to record seemingly duplicate @font-faces, but
> with extensibility in mind, 2 may actually make more sense. 4 is
> simpler, though. I'm torn.

One more addendum to this, Safari 3.1 actually has behavior (4) while the current Webkit nightly has behavior (2).  I think this is an artifact of the how unicode-range is used by Webkit.

The rules above are equivalent to:

@font-face {
  font-family: "Foo";
  src: url(a.ttf);
  unicode-range: U+0-7FFFFFFF;
}

@font-face {
  font-family: "Foo";
  src: url(b.ttf);
  unicode-range: U+0-7FFFFFFF;
}

Safari 3.1, which implements unicode-range, uses only the unicode-range defined by the @font-face rule, the same as (4) above.  The Webkit nightly is using an effective unicode-range which is the range defined in in the @font-face rule intersected with the range defined in the font data, thus it behaves like (2).

I'm still a little concerned about how authors override fonts defined like this.

John Daggett
Mozilla Japan
Received on Tuesday, 18 November 2008 09:49:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:17 GMT