- From: Thomas DeWeese <Thomas.DeWeese@Kodak.com>
- Date: Wed, 17 Nov 2004 15:59:43 -0500
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- CC: "Thomas DeWeese"@MIT.EDU, www-svg@w3.org
> Thomas DeWeese wrote: >> That said I don't see any reason the two couldn't >> produce identical results (assuming the SVG WG decided that a >> flowPara acts as a CSS Block for line-height calculations, which >> it probably makes sense to do). Boris Zbarsky wrote: > Did I miss something? Can't the text inside a flowPara wrap? Yes. > And then wouldn't the models described in SVG and CSS produce different > layout of the resulting lines? I thought that was the point of Ian's > example... So, as I said I don't think the SVG spec is clear enough to know if the two _should_ produce different layout. But let's take the cases I can see: 1) SVG doesn't use the Block element's line-height (the zero width strut stuff) in this case I think a 'full' CSS implementation could still get equivalent layout by simply setting the block line-height and strut ascent/descent to zero - everything would then come from the inline boxes. 2) SVG doesn't use the 'line-height' property and continues to force it to the value of the font-size (but does do the block strut stuff). In this case a 'true' CSS implementation simply forces line-height to be '1.0'. 3) SVG uses line-height and considers a flowPara a block element. A CSS implementation does not need to adjust it's line-height/baseline determination in any way. So in these cases it is true that a full CSS implementation would have to be "handicapped" to ignore some CSS properties and use fixed internal values but the core of the layout engine can remain unchanged. As I tried to make clear to Ian the issue of compatibility is much deeper than do I get the same thing given "equivalent" input, SVG's flowRoot is clearly a subset of the CSS Block model so as soon as you touch a feature not included in that subset you will get different layout. I don't consider this a 'compatibility' issue since the same layout code can be used an implementor just needs to adjust the inputs to that engine somewhat.
Received on Wednesday, 17 November 2004 20:59:45 UTC