- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Fri, 15 Jan 2016 17:08:32 -0800
- To: Tavmjong Bah <tav.w3c@gmail.com>
- Cc: Cameron McCormack <cam@mcc.id.au>, www-svg <www-svg@w3.org>
On Fri, Jan 15, 2016 at 11:13 AM, Tavmjong Bah <tav.w3c@gmail.com> wrote: > On Fri, 2016-01-15 at 14:35 +1100, Cameron McCormack wrote: >> In the SVG 2 draft, we allow transform on <tspan> and <textPath>. I >> realise now however that this is inconsistent with what CSS allows in >> non-SVG documents, and if we are defining SVG text layout in terms of >> CSS text layout (plus an additional layer of SVG glyph positioning), >> then we might want to reconsider. >> >> Specifically, the transform property is defined to apply only to >> “transformable elements”: >> >> https://drafts.csswg.org/css-transforms/#transformable-element >> >> Notably this doesn’t include inline elements, which is what we are >> considering <tspan> and <textPath> to be. >> >> As far as I know nobody has implemented this. > > Actually, rsvg seems to support transforms on tspan elements! > > I would have thought that transform on tspan elements would be treated > as part of the post CSS layout step. However, I don't have a strong > opinion on keeping transforms on tspan and textPath elements. CSS's issues are mostly with inlines broken across a line, as there's no good answer for what coordinate space the transforms should operate in (particularly rotates/skews). Thus our restriction to blocks and atomic inlines (like display:inline-block elements). SVG's text model is a little different, but putting the restriction on <tspan> amounts to the same thing. A <text> can span multiple lines, but it in itself is a reasonable "container", like a block in CSS. A <tspan> can contain text split across different lines, tho, which runs into the issues we had. (There is no "post-CSS layout step". Transforms are part of CSS layout, and SVG is just using an unspecified CSS layout mode which resembles forced absolute positioning.) ~TJ
Received on Saturday, 16 January 2016 01:09:19 UTC