- From: John Daggett <jdaggett@mozilla.com>
- Date: Wed, 11 Jan 2012 20:25:05 -0800 (PST)
- To: Sylvain Galineau <sylvaing@microsoft.com>
- Cc: www-style@w3.org, Matthew Wilcox <elvendil@gmail.com>
Sylvain Galineau wrote:
> I suspect what you might want is something equivalent to an
> @font-face descriptor to define a font stack. Just for the purpose
> of illustration and using made-up syntax, I think you’re
> conceptually asking for:
>
> @font-face {
> font-family: base-sans-serif;
> stack : MelbourneRegular, "Helvetica Neue", Helvetica, Arial, sans-serif;
> }
>
> html { font : 125%/1.3 base-sans-serif; }
> #special { font-family : LeagueGothicRegular, base-sans-serif; }
>
> Is that right ?
I should point out here that for this case, where the author is using a font stack
to deal with cross-platform font matching rather than a combination of different
scripts like Latin, Arabic, Japanese, you can *already* use the src local syntax
to get something close:
@font-face {
font-family: base-sans-serif;
src: local(MelbourneRegular), local(HelveticaNeue), local(Helvetica), local(Arial), local(ArialMT);
}
#special { font-family : LeagueGothicRegular, base-sans-serif, sans-serif; }
You'd need to do this for each style combination (e.g. normal, bold,
italic, etc.). Not as simple as some form of variable substitution
but it'll work now.
> An extension to @font-face would not solve the general problem of
> CSS value lists redefinitions, but since fonts already have an
> indirection mechanism, something like this may be an option. (Though
> I suspect John Daggett may have 79 reasons I should be ashamed of
> myself for suggesting such a thing…)
>
> Otherwise it sounds like something Variables might be able to tackle?
Yeah, I think some form of variable substitution is the right way to
go here rather than extending @font-face, since you really are looking
to substitute *families* rather than individual fonts.
Cheers,
John Daggett
Received on Thursday, 12 January 2012 04:28:03 UTC