- From: Giovanni Campagna <scampa.giovanni@gmail.com>
- Date: Sun, 10 May 2009 19:55:21 +0200
- To: Bert Bos <bert@w3.org>
- Cc: www-style@w3.org
2009/5/7 Bert Bos <bert@w3.org>: > [...] > >> 4. 15 Fonts, >> 15.6 Font boldness : the 'font-weight' property: >> 'bolder' selects the next weight that is assigned to a font >> that is darker than the inherited one. >> following sentence removed: >> If there is no such weight, it simply results in the next >> darker numerical value (and the font remains unchanged), unless the >> inherited value was '900' in which case the resulting weight is also >> '900'. >> [similar in 'lighter'] >> following paragraph added: >> Note: A set of nested elements that mix 'bolder' and 'lighter' >> will give unpredictable results depending on the UA, OS, and font >> availability. This behavior will be more precisely defined in CSS3. >> >> - changing _defined_ behaviour to _undefined_ is not an >> improvement. - css3 reference nonsence. >> (imo: if someone tries to turn css2 specification into >> 'css3 todo list' - shoot, don't talk) >> - the weight metric is independent from font[family]. >> as value of independent metric, 'bolder' SHOULD result next >> numerical value. >> futher - as a hack for non-perfect world - it MAY (or MAY NOT) >> yield to next available font's weight. >> what was unclean here? why you killing primary objectives of >> property/value, leaving only hack description? > > Imagine four nested elements, from outside to inside they have > > font-weight: normal > font-weight: bolder > font-weight: bolder > font-weight: lighter > > The old spec said the computed value of the innermost is "one of the > legal number values combined with one or more of the relative > values (bolder or lighter)." But does that mean > > 400 + bolder + bolder + lighter > or > 400 + bolder > or > 400 + 1 * lighter + 2 * bolder? > > That makes a difference. Assume a font with weights 400 (normal) > and 900 (extra bold). A UA that does the first will end up at 400, > while a UA that does the second will choose 900. Bolder is min(inherit + 100,900) and the computed value is a number: you solve the issue without complicating with the computed value. Bold computes to 700, normal and initial to 400. Lighter to max(inherit - 100,100). > The text about taking the next available weight or the next > numerical value if there is no next weight available dates from > the old CSS2 REC, and assumed that the computed value was a number. > But it didn't define what happened for elements with more than one > font family, so it's likely that taking the next numerical value > isn't actually a good idea. The font matching algorithm is in CSS3 Fonts, and 1) assumes a numerical weight 2) should work the same for bolder/ligther or explicit numbers As usual, first you find the computed values, then the used values (that require knowing the font metrics and availability) for rendering. > Maybe we will find a good solution before we progress CSS 2.1 to > Recommendation. That's currently issue 111[3]. But maybe we won't > and leave the algorithm undefined in CSS 2.1. > > [3] http://wiki.csswg.org/spec/css2.1#issue-111 > > > > 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 > > Giovanni
Received on Sunday, 10 May 2009 17:56:04 UTC