- From: John Daggett <jdaggett@mozilla.com>
- Date: Wed, 21 Jan 2009 22:51:52 -0800 (PST)
- To: Michael Day <mikeday@yeslogic.com>
- Cc: www-style <www-style@w3.org>
> > Even if defined with font-weight and font-style defaulting to "all", > > that means you're going to ignore bold and italic faces and use the > > normal face in all situations. That's not really a good way of defining > > what 'serif' means. > > We're doing this at the moment without ignoring bold and italic, as > described in my other email on the topic. > > @font-face { > font-family: serif; > font-weight: all; > font-style: all; > src: local("Times New Roman") > } > > will result in Times New Roman being used with the appropriate weight > and style in Prince at the moment. So what happens with the rule below? @font-face { font-family: serif; font-weight: all; font-style: all; src: local("Times New Roman Bold Italic"); } Does your system pick up all bold/italic variations using this syntax? If so, you're overloading syntax intended to specify a *face* and associating it with a way of looking up a *family*. > > Using your original font-family list, let's say you wanted to override > > the Arabic glyphs used in Times New Roman with Scheherazade instead. > > > > @font-face { > > font-family: Scheherazade; > > src: url(ScheherazadeRegAAT.ttf) format("truetype-aat"), url(ScheherazadeRegOT.ttf) format("opentype"); > > } > > > > body: { font-family: Scheherazade, Times New Roman, OpenSymbol, ...; } > > I find that a very compelling example. Perhaps what I'm looking for is > an explicit way of creating a union font, eg. > > @font-face { > font-family: MyFont; > src: union(font(local("Times New Roman"), url("times.ttf")), > font(local("Symbol"))) > } > > apologies for the awful syntax, the idea is that MyFont would use Times > New Roman and then Symbol for glyph fallback, where Times New Roman > would either be the system font with that name or a a file if no system > font with that name existed. This is *exactly* what the unicode-range feature allows you to do, it allows a set of fonts to be unioned together. @font-face { font-family: MyFont; src: local("Symbol"); unicode-range: U+0-10AFFFF; } @font-face { font-family: MyFont; src: local("Times New Roman"), url(times.ttf); unicode-range: <character ranges for Times New Roman>; } I think unicode-range represents a somewhat complex use case. For simpler cases, it would be enough to use: @font-face { font-family: MyFont; src: local("Times New Roman"), url(times.ttf); } body { font-family: MyFont, Symbol; } Cheers, John Daggett Mozilla Japan
Received on Thursday, 22 January 2009 06:52:33 UTC