- From: L. David Baron <dbaron@dbaron.org>
- Date: Thu, 12 Jun 2008 14:58:46 -0700
I'm looking at http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas.html#text which currently says: # When the 'font-size' component is set to lengths using # percentages, 'em' or 'ex' units, or the 'larger' or 'smaller' # keywords, these must be interpreted relative to the computed # value of the 'font-size' property of the corresponding canvas # element. When the 'font-weight' component is set to the relative # values 'bolder' and 'lighter', these must be interpreted # relative to the computed value of the 'font-weight' property of # the corresponding canvas element. If the computed values are # undefined for a particular case (e.g. because the canvas element # is not in a document), then the relative keywords must be # interpreted relative to the normal-weight 10px sans-serif # default. Suppose that the computed style of the corresponding canvas element changes between when the font DOM attribute is set and text is drawn. Based on the text above, it's not clear to me whether values like '1em' or 'lighter' should be relative to the canvas's values at the time the font is set or the time the text is drawn. In other words: var canvas = document.getElementById("mycanvaselement"); var ctx = canvas.getContext("2d"); canvas.style.fontSize = "16px"; ctx.font = "0.75em sans-serif"; // 12px, for now at least canvas.style.fontSize = "32px"; ctx.fillText("hello world", 0, 0); // 12px text or 24px text? The text above: # The font DOM attribute, on setting, must be parsed the same way # as the 'font' property of CSS (but without supporting # property-independent stylesheet syntax like 'inherit'), and the # resulting font must be assigned to the context, with the # 'line-height' component forced to 'normal'. [CSS] could *perhaps* be interpreted to mean that it doesn't dynamically update, but it's not clear. I'd prefer if it were static, because for Mozilla, we'd either have to add new infrastructure to handle dynamic style changes for elements inside something that's display:none or we'd have to recompute the style for every text operation (probably the latter). -David -- L. David Baron http://dbaron.org/ Mozilla Corporation http://www.mozilla.com/
Received on Thursday, 12 June 2008 14:58:46 UTC