- From: Bert Bos <bert@w3.org>
- Date: Fri, 29 Aug 2008 17:48:21 +0200
- To: "www-style@w3.org" <www-style@w3.org>
L. David Baron wrote: > 15.6 contains some contradictory statements as a result of previous > edits [1] which were themselves needed to resolve existing > contradictions. See > http://csswg.inkedblade.net/spec/css2.1#issue-48 (and note that what > we're discussing is issue 49). Another way to solve issue 48 may be to re-use the concept of "first available font" that we introduced to define the value of 'ex'. Concretely: remove no text from 15.6, but add this bullet point before the two that define 'bolder' and 'lighter'. It says to only look at the first family: * Determine the font weight mappings of all fonts (of any style, size or variant) in the first family in 'font-family' that has any fonts available. Compute the used value of 'font-weight' using this set of fonts, as follows: The existing bullets could remain unchanged or cleaned up to avoid some confusion and ambiguities, as follows: * 'bolder' selects the next weight that is assigned to a font that is darker than the *parent's weight* [was: inherited one]. If there is no such weight, it simply results in the next darker numerical value [remove: (and the font remains unchanged)], unless the inherited value was '900' in which case the resulting weight is also '900'. * 'lighter' is similar, but works in the opposite direction: it selects the next lighter keyword with a different font from the *parent's weight* [was: inherited one], unless there is no such font, in which case it selects the next lighter numerical value [remove: (and keeps the font unchanged)]. With this addition the original algorithm (next available font or +100) is well-defined again and the outcome of Fantasai's puzzle is as Sylvaing said: b -> 700 (because a bolder font is available and it has weight 700) c -> 800 (because no bolder font is available, so we just add 100) d -> 700 (because a lighter font than 800 is available, viz., 700) and thus d is bold. It will satisfy some people's intuition ("in an ideal font d would be bolder than a") and fail others ("in an ideal font, d would be lighter than c"). You can't win... For issue 49, this means that the computed value of 'font-weight' is neither a sequence nor a count, it is simply an absolute weight (100..900), *but* it cannot be computed without knowing the available fonts. That shouldn't be a problem in most cases, except when the font is not yet downloaded when you compute property values. In that case you must either wait until the font is downloaded and installed, or continue assuming the font does not exist and recompute properties if it later turns out that the font downloaded and installed fine. The same is true for any calculations that involve 'ex', so it's nothing new. Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Friday, 29 August 2008 15:49:13 UTC