WebCore:

2006-01-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - added basic SVG text support using CSS-based rendering
        http://bugzilla.opendarwin.org/show_bug.cgi?id=4883
 
        Affects many test results in LayoutTests/svg.

        * kcanvas/RenderSVGText.cpp: Added. Simple subclass of RenderBlock for SVG text.
        (RenderSVGText::RenderSVGText): just call superclass constructor.
        (RenderSVGText::translateTopToBaseline): helper to account for the fact that
	y coordinates for <text> give the baseline position, but the render tree expects
	current y to be the top.
        (RenderSVGText::translateForAttributes): translate to account for x and y
	attributes.
        (RenderSVGText::paint): Apply appropriate CTM transform and then just let
	RenderBlock paint.
        * kcanvas/RenderSVGText.h: Added.
        (RenderSVGText::renderName):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceContextQuartz::nsGraphicsContext): We want the context flipped.
        * ksvg2/css/svg.css: Give <svg:text> display: block
        * ksvg2/svg/SVGTextElementImpl.cpp:
        (SVGTextElementImpl::createRenderer): Create a RenderSVGText renderer.
        (SVGTextElementImpl::childShouldCreateRenderer): Let child text nodes make
	renderers, but nothing else (for now).
        * ksvg2/svg/SVGTextElementImpl.h:
        (KSVG::SVGTextElementImpl::rendererIsNeeded): It sure is! :-)
        * WebCore.xcodeproj/project.pbxproj: Add new files.

LayoutTests:

2006-01-08  Maciej Stachowiak  <mjs@apple.com>

        - updated test reulsts for  basic SVG text support using CSS-based rendering
        http://bugzilla.opendarwin.org/show_bug.cgi?id=4883

        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum:
        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
        * svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/color-prof-01-f-expected.png:
        * svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
        * svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/color-prop-01-b-expected.png:
        * svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum:
        * svg/W3C-SVG-1.1/color-prop-02-f-expected.png:
        * svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
        * svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/color-prop-03-t-expected.png:
        * svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum:
        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.png:
        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
        * svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/coords-units-02-b-expected.png:
        * svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
        * svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
        * svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.png:
        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png:
        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png:
        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png:
        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png:
        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png:
        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.png:
        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/interact-events-01-b-expected.png:
        * svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/interact-order-01-b-expected.png:
        * svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/interact-order-02-b-expected.png:
        * svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/interact-order-03-b-expected.png:
        * svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png:
        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
        * svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/linking-a-01-b-expected.png:
        * svg/W3C-SVG-1.1/linking-a-01-b-expected.txt:
        * svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/linking-a-02-b-expected.png:
        * svg/W3C-SVG-1.1/linking-a-02-b-expected.txt:
        * svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/linking-a-03-b-expected.png:
        * svg/W3C-SVG-1.1/linking-a-03-b-expected.txt:
        * svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/linking-a-04-t-expected.png:
        * svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.png:
        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.png:
        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.png:
        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png:
        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
        * svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
        * svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-path-03-b-expected.png:
        * svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/masking-path-04-b-expected.png:
        * svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum:
        * svg/W3C-SVG-1.1/masking-path-05-f-expected.png:
        * svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.png:
        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.png:
        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.png:
        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.png:
        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.png:
        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum:
        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.png:
        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum:
        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.png:
        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/painting-render-01-b-expected.png:
        * svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png:
        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png:
        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png:
        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-01-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-02-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
        * svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-04-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-05-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-06-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
        * svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum:
        * svg/W3C-SVG-1.1/paths-data-07-t-expected.png:
        * svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:
        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-elems-01-t-expected.png:
        * svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
        * svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-elems-02-t-expected.png:
        * svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
        * svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-elems-06-t-expected.png:
        * svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-elems-07-t-expected.png:
        * svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-elems-08-t-expected.png:
        * svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
        * svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
        * svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/script-handle-01-b-expected.png:
        * svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
        * svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/script-handle-02-b-expected.png:
        * svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
        * svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/script-handle-03-b-expected.png:
        * svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
        * svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/script-handle-04-b-expected.png:
        * svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png:
        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.png:
        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.png:
        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.png:
        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.png:
        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-group-01-t-expected.png:
        * svg/W3C-SVG-1.1/struct-group-01-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-group-02-b-expected.png:
        * svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-image-01-t-expected.png:
        * svg/W3C-SVG-1.1/struct-image-01-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
        * svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-image-03-t-expected.png:
        * svg/W3C-SVG-1.1/struct-image-03-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/struct-image-04-t-expected.png:
        * svg/W3C-SVG-1.1/struct-image-04-t-expected.txt:
        * svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-image-05-b-expected.png:
        * svg/W3C-SVG-1.1/struct-image-05-b-expected.txt:
        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/styling-css-01-b-expected.png:
        * svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
        * svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/styling-css-02-b-expected.png:
        * svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
        * svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/styling-css-03-b-expected.png:
        * svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png:
        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.png:
        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
        * svg/W3C-SVG-1.1/text-align-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-align-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-02-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-02-b-expected.txt:
        * svg/W3C-SVG-1.1/text-align-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-03-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-03-b-expected.txt:
        * svg/W3C-SVG-1.1/text-align-04-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-04-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
        * svg/W3C-SVG-1.1/text-align-05-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-05-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
        * svg/W3C-SVG-1.1/text-align-06-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-align-06-b-expected.png:
        * svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-deco-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-deco-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.png:
        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.png:
        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
        * svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-intro-01-t-expected.png:
        * svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
        * svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-intro-02-b-expected.png:
        * svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
        * svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-intro-03-b-expected.png:
        * svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
        * svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-intro-04-t-expected.png:
        * svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
        * svg/W3C-SVG-1.1/text-path-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-path-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-text-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-text-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-text-03-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-text-03-b-expected.png:
        * svg/W3C-SVG-1.1/text-text-03-b-expected.txt:
        * svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-tref-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-tref-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum:
        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.png:
        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-ws-01-t-expected.png:
        * svg/W3C-SVG-1.1/text-ws-01-t-expected.txt:
        * svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum:
        * svg/W3C-SVG-1.1/text-ws-02-t-expected.png:
        * svg/W3C-SVG-1.1/text-ws-02-t-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 6ef3b06..4d6adac 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,543 @@
+2006-01-08  Maciej Stachowiak  <mjs@apple.com>
+
+        - updated test reulsts for  basic SVG text support using CSS-based rendering
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4883
+
+        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
+        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum:
+        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.png:
+        * svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
+        * svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/color-prof-01-f-expected.png:
+        * svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/color-prop-01-b-expected.png:
+        * svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum:
+        * svg/W3C-SVG-1.1/color-prop-02-f-expected.png:
+        * svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
+        * svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/color-prop-03-t-expected.png:
+        * svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.png:
+        * svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
+        * svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-units-02-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
+        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.png:
+        * svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
+        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png:
+        * svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png:
+        * svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png:
+        * svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png:
+        * svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png:
+        * svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.png:
+        * svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-events-01-b-expected.png:
+        * svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-order-01-b-expected.png:
+        * svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-order-02-b-expected.png:
+        * svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-order-03-b-expected.png:
+        * svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png:
+        * svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-a-01-b-expected.png:
+        * svg/W3C-SVG-1.1/linking-a-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-a-02-b-expected.png:
+        * svg/W3C-SVG-1.1/linking-a-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-a-03-b-expected.png:
+        * svg/W3C-SVG-1.1/linking-a-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-a-04-t-expected.png:
+        * svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.png:
+        * svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.png:
+        * svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.png:
+        * svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-path-03-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-path-04-b-expected.png:
+        * svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum:
+        * svg/W3C-SVG-1.1/masking-path-05-f-expected.png:
+        * svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
+        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.png:
+        * svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.png:
+        * svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
+        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.png:
+        * svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
+        * svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-render-01-b-expected.png:
+        * svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png:
+        * svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-01-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-02-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-04-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-05-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-06-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
+        * svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum:
+        * svg/W3C-SVG-1.1/paths-data-07-t-expected.png:
+        * svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
+        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:
+        * svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-01-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-02-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-06-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-07-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-08-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
+        * svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
+        * svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
+        * svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/script-handle-01-b-expected.png:
+        * svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/script-handle-02-b-expected.png:
+        * svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/script-handle-03-b-expected.png:
+        * svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/script-handle-04-b-expected.png:
+        * svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png:
+        * svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-group-01-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-group-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-group-02-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-image-01-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-image-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-image-03-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-image-03-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-image-04-t-expected.png:
+        * svg/W3C-SVG-1.1/struct-image-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-image-05-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-image-05-b-expected.txt:
+        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
+        * svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/styling-css-01-b-expected.png:
+        * svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/styling-css-02-b-expected.png:
+        * svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/styling-css-03-b-expected.png:
+        * svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png:
+        * svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.png:
+        * svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-02-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-03-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-04-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-04-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-05-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-05-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-align-06-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-align-06-b-expected.png:
+        * svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-deco-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-deco-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.png:
+        * svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.png:
+        * svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-intro-01-t-expected.png:
+        * svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-intro-02-b-expected.png:
+        * svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-intro-03-b-expected.png:
+        * svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-intro-04-t-expected.png:
+        * svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-path-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-path-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-text-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-text-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-text-03-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-text-03-b-expected.png:
+        * svg/W3C-SVG-1.1/text-text-03-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-tref-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-tref-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.png:
+        * svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-ws-01-t-expected.png:
+        * svg/W3C-SVG-1.1/text-ws-01-t-expected.txt:
+        * svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum:
+        * svg/W3C-SVG-1.1/text-ws-02-t-expected.png:
+        * svg/W3C-SVG-1.1/text-ws-02-t-expected.txt:
+
 2006-01-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
         
         Reviewed by Darin. landed by ap.
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum
index 48f7747..6b4e5ed 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum
@@ -1 +1 @@
-f9a64a585ab0013e3ed6d98503414437
\ No newline at end of file
+d74a68b01609d98fc571c3bea8d93079
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png
index 0a68b75..c387e6d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt
index 79f7616..f288d34 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt
@@ -7,19 +7,34 @@
           KCanvasItem {line} at (40,218) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,220.00L100.00,220.00"]
           KCanvasItem {line} at (40,118) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,120.00L100.00,120.00"]
           KCanvasItem {rect} at (58,18) size 54x24 [stroke={[type=SOLID] [color=#008855] [stroke width=4.00]}] [fill={[type=SOLID] [color=#00FF55]}] [data="M60.00,20.00L110.00,20.00L110.00,40.00L60.00,40.00"]
+          RenderSVGText {text} at (0,0) size 785x34
+            RenderText {TEXT} at (0,0) size 91x34
+              text run at (0,0) width 91: "anim.5"
         KCanvasContainer {g} at (150,18) size 72x204 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,0.00)}]
           KCanvasItem {rect} at (168,18) size 54x204 [stroke={[type=SOLID] [color=#DFDFDF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#DFDFDF]}] [data="M60.00,20.00L110.00,20.00L110.00,220.00L60.00,220.00"]
           KCanvasItem {line} at (150,218) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,220.00L100.00,220.00"]
           KCanvasItem {line} at (150,118) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,120.00L100.00,120.00"]
           KCanvasItem {rect} at (168,18) size 54x24 [stroke={[type=SOLID] [color=#008855] [stroke width=4.00]}] [fill={[type=SOLID] [color=#00FF55]}] [data="M60.00,20.00L110.00,20.00L110.00,40.00L60.00,40.00"]
+          RenderSVGText {text} at (0,0) size 785x34
+            RenderText {TEXT} at (0,0) size 91x34
+              text run at (0,0) width 91: "anim.6"
         KCanvasContainer {g} at (260,18) size 72x204 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}]
           KCanvasItem {rect} at (278,18) size 54x204 [stroke={[type=SOLID] [color=#DFDFDF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#DFDFDF]}] [data="M60.00,20.00L110.00,20.00L110.00,220.00L60.00,220.00"]
           KCanvasItem {line} at (260,218) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,220.00L100.00,220.00"]
           KCanvasItem {line} at (260,118) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,120.00L100.00,120.00"]
           KCanvasItem {rect} at (278,18) size 54x24 [stroke={[type=SOLID] [color=#008855] [stroke width=4.00]}] [fill={[type=SOLID] [color=#00FF55]}] [data="M60.00,20.00L110.00,20.00L110.00,40.00L60.00,40.00"]
+          RenderSVGText {text} at (0,0) size 785x34
+            RenderText {TEXT} at (0,0) size 91x34
+              text run at (0,0) width 91: "anim.7"
         KCanvasContainer {g} at (370,18) size 72x204 [transform={m=((1.00,0.00)(0.00,1.00)) t=(330.00,0.00)}]
           KCanvasItem {rect} at (388,18) size 54x204 [stroke={[type=SOLID] [color=#DFDFDF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#DFDFDF]}] [data="M60.00,20.00L110.00,20.00L110.00,220.00L60.00,220.00"]
           KCanvasItem {line} at (370,218) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,220.00L100.00,220.00"]
           KCanvasItem {line} at (370,118) size 60x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [data="M40.00,120.00L100.00,120.00"]
           KCanvasItem {rect} at (388,18) size 54x24 [stroke={[type=SOLID] [color=#008855] [stroke width=4.00]}] [fill={[type=SOLID] [color=#00FF55]}] [data="M60.00,20.00L110.00,20.00L110.00,40.00L60.00,40.00"]
+          RenderSVGText {text} at (0,0) size 785x34
+            RenderText {TEXT} at (0,0) size 91x34
+              text run at (0,0) width 91: "anim.8"
+        RenderSVGText {text} at (0,0) size 785x45
+          RenderText {TEXT} at (0,0) size 340x45
+            text run at (0,0) width 340: "$Revision$"
         KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum
index 8a71cb4..8ee4189 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+44eaee1880c7b18b0bcb55e0493df507
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png
index fd25073..a0d20c3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt
index 00a6c86..791fcdb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt
@@ -4,4 +4,16 @@
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x46
+              RenderText {TEXT} at (0,0) size 212x46
+                text run at (0,0) width 212: "Sample 123"
+            RenderSVGText {text} at (0,0) size 465x69
+              RenderText {TEXT} at (0,0) size 318x69
+                text run at (0,0) width 318: "Sample 123"
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 86x18
+                text run at (0,0) width 86: "Sample 123"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum
index 2207df5..4fa36dc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum
@@ -1 +1 @@
-2342b6c2d94cb5bd20977b27c23dc6a6
\ No newline at end of file
+88e5ac7f745d14124250be902219c625
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png
index 28bc2fd..c9ff1e2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt
index 6e31016..39c6200 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt
@@ -2,9 +2,24 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-34.85,-66.71) size 511.85x423.71
       KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 77x10
+            text run at (0,0) width 77: "Test a motion path"
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 77x10
+            text run at (0,0) width 77: "'from'/'to' attribute."
         KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
           KCanvasItem {path} at (89.25,177.10) size 301.51x83.81 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00L65.00,30.00"]
           KCanvasItem {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00L20.00,33.00L20.00,43.00L10.00,43.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 26x10
+              text run at (0,0) width 26: "0 sec."
           KCanvasItem {rect} at (357,117) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M60.00,20.00L70.00,20.00L70.00,30.00L60.00,30.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 31x10
+              text run at (0,0) width 31: "3+ sec."
           KCanvasItem {path} at (-34.85,-66.71) size 69.71x69.71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-5.00,0.00L0.00,-10.00L5.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 474x354 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L79.00,1.00L79.00,59.00L1.00,59.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum
index c5bc7ba..be85a6e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum
@@ -1 +1 @@
-095058d1c37ae291d600a69bae6827de
\ No newline at end of file
+508b27e642d0603792f315d9d84784cd
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png
index cfce02d..477547a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt
index d678aaa..b0b7eb2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt
@@ -2,10 +2,28 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-34.85,-66.71) size 511.85x423.71
       KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 77x10
+            text run at (0,0) width 77: "Test a motion path"
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 71x10
+            text run at (0,0) width 71: "'values' attribute."
         KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
           KCanvasItem {path} at (88.62,177) size 301.38x83.66 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00L40.00,30.00L65.00,30.00"]
           KCanvasItem {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00L20.00,33.00L20.00,43.00L10.00,43.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 26x10
+              text run at (0,0) width 26: "0 sec."
           KCanvasItem {rect} at (207,117) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M35.00,20.00L45.00,20.00L45.00,30.00L35.00,30.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 10x10
+              text run at (0,0) width 10: "3+"
           KCanvasItem {rect} at (357,117) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M60.00,20.00L70.00,20.00L70.00,30.00L60.00,30.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 10x10
+              text run at (0,0) width 10: "6+"
           KCanvasItem {path} at (-34.85,-66.71) size 69.71x69.71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-5.00,0.00L0.00,-10.00L5.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 474x354 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L79.00,1.00L79.00,59.00L1.00,59.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum
index 0d1e7f5..ae03aa1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.checksum
@@ -1 +1 @@
-1b390d9e9e4c2fdddab5422698d8ccb9
\ No newline at end of file
+b1b541f9b1eef39048d14bbcb7e5442a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png
index a19b6e0..7227d6d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
index b0c7992..fb7a6e4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
@@ -2,9 +2,24 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-34.85,-66.71) size 511.85x423.71
       KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 77x10
+            text run at (0,0) width 77: "Test a motion path"
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 62x10
+            text run at (0,0) width 62: "'path' attribute."
         KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
           KCanvasItem {path} at (87.78,160.76) size 303.44x99.26 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00C15.00,43.00,36.00,20.00,65.00,33.00"]
           KCanvasItem {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00L20.00,33.00L20.00,43.00L10.00,43.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 26x10
+              text run at (0,0) width 26: "0 sec."
           KCanvasItem {rect} at (357,135) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M60.00,23.00L70.00,23.00L70.00,33.00L60.00,33.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 31x10
+              text run at (0,0) width 31: "6+ sec."
           KCanvasItem {path} at (-34.85,-66.71) size 69.71x69.71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-5.00,0.00L0.00,-10.00L5.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 474x354 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L79.00,1.00L79.00,59.00L1.00,59.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum
index 0d1e7f5..c37668c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.checksum
@@ -1 +1 @@
-1b390d9e9e4c2fdddab5422698d8ccb9
\ No newline at end of file
+eba179d7d6079d61d4bea827b70d2526
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png
index a19b6e0..2384f15 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
index b0c7992..4ff2a65 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
@@ -2,9 +2,24 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-34.85,-66.71) size 511.85x423.71
       KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 77x10
+            text run at (0,0) width 77: "Test a motion path"
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 67x10
+            text run at (0,0) width 67: "'mpath' element."
         KCanvasContainer {g} at (-34.85,-66.71) size 457.85x327.71
           KCanvasItem {path} at (87.78,160.76) size 303.44x99.26 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00C15.00,43.00,36.00,20.00,65.00,33.00"]
           KCanvasItem {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00L20.00,33.00L20.00,43.00L10.00,43.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 26x10
+              text run at (0,0) width 26: "0 sec."
           KCanvasItem {rect} at (357,135) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M60.00,23.00L70.00,23.00L70.00,33.00L60.00,33.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 31x10
+              text run at (0,0) width 31: "6+ sec."
           KCanvasItem {path} at (-34.85,-66.71) size 69.71x69.71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-5.00,0.00L0.00,-10.00L5.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 474x354 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L79.00,1.00L79.00,59.00L1.00,59.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum
index 11b61d8..aac9ca9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.checksum
@@ -1 +1 @@
-78d5638000bc0762fdcf0b34a81331f0
\ No newline at end of file
+e362ae8c11e81eb630da326772a17b8e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png
index a6dbdb5..0713c3b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
index 547370b..794f56a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
@@ -2,13 +2,37 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-16.62,-32.24) size 496.12x391.74
       KCanvasContainer {g} at (-16.62,-32.24) size 458.62x259.24
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 275x16
+            text run at (0,0) width 275: "Test rotate='auto' and rotate='auto-reverse'"
         KCanvasContainer {g} at (-16.62,-32.24) size 458.62x259.24
           KCanvasItem {path} at (24,167.10) size 151.71x57.90 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M25.00,225.00C25.00,175.00,125.00,150.00,175.00,200.00"]
           KCanvasItem {rect} at (8,193) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,195.00L40.00,195.00L40.00,225.00L10.00,225.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 32x14
+              text run at (0,0) width 32: "0 sec."
           KCanvasItem {rect} at (158,168) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M160.00,170.00L190.00,170.00L190.00,200.00L160.00,200.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 39x14
+              text run at (0,0) width 39: "6+ sec."
           KCanvasItem {path} at (-16.62,-32.24) size 33.24x33.24 [stroke={[type=SOLID] [color=#FF0000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-15.00,0.00L0.00,-30.00L15.00,0.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 79x16
+              text run at (0,0) width 79: "rotate='auto'"
           KCanvasItem {path} at (274,167.10) size 151.71x57.90 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M275.00,225.00C275.00,175.00,375.00,150.00,425.00,200.00"]
           KCanvasItem {rect} at (258,193) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M260.00,195.00L290.00,195.00L290.00,225.00L260.00,225.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 32x14
+              text run at (0,0) width 32: "0 sec."
           KCanvasItem {rect} at (408,168) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M410.00,170.00L440.00,170.00L440.00,200.00L410.00,200.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 39x14
+              text run at (0,0) width 39: "6+ sec."
           KCanvasItem {path} at (-16.62,-32.24) size 33.24x33.24 [stroke={[type=SOLID] [color=#FF0000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M-15.00,0.00L0.00,-30.00L15.00,0.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 132x16
+              text run at (0,0) width 132: "rotate='auto-reverse'"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum
index baa7166..085394e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum
@@ -1 +1 @@
-53acd5c9e31d7f372573934fc522039b
\ No newline at end of file
+264297ca4ed5bd74ff2fcc3bc4e27040
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png
index 60722f2..c8f6fd9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt
index d4060f6..268b2a7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt
@@ -4,6 +4,18 @@
       KCanvasContainer {g} at (140,38) size 312x214
         KCanvasContainer {g} at (140,38) size 312x214
           KCanvasContainer {g} at (140,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "0-2 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "2-4 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "4-6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "6+ sec."
             KCanvasContainer {g} at (140,48) size 50x204
               KCanvasItem {line} at (140,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (140,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
@@ -11,10 +23,25 @@
               KCanvasItem {line} at (140,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (158,38) size 64x214 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,200.00L140.00,200.00"]
           KCanvasContainer {g} at (370,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "0-2 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "2-4 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 107x34
+                text run at (0,0) width 107: "4-6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "6+ sec."
             KCanvasContainer {g} at (370,48) size 50x204
               KCanvasItem {line} at (370,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (370,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
               KCanvasItem {line} at (370,159) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,111.00L170.00,111.00"]
               KCanvasItem {line} at (370,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (388,38) size 64x14 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,0.00L140.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum
index baa7166..a9a741c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum
@@ -1 +1 @@
-53acd5c9e31d7f372573934fc522039b
\ No newline at end of file
+9e4c4a7112a5c22d31b3a194d3506290
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png
index 60722f2..e4746f9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt
index d4060f6..1e78c30 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt
@@ -4,6 +4,18 @@
       KCanvasContainer {g} at (140,38) size 312x214
         KCanvasContainer {g} at (140,38) size 312x214
           KCanvasContainer {g} at (140,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (140,48) size 50x204
               KCanvasItem {line} at (140,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (140,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
@@ -11,10 +23,25 @@
               KCanvasItem {line} at (140,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (158,38) size 64x214 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,200.00L140.00,200.00"]
           KCanvasContainer {g} at (370,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (370,48) size 50x204
               KCanvasItem {line} at (370,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (370,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
               KCanvasItem {line} at (370,159) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,111.00L170.00,111.00"]
               KCanvasItem {line} at (370,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (388,38) size 64x14 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,0.00L140.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum
index baa7166..a9a741c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum
@@ -1 +1 @@
-53acd5c9e31d7f372573934fc522039b
\ No newline at end of file
+9e4c4a7112a5c22d31b3a194d3506290
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png
index 60722f2..e4746f9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt
index d4060f6..1e78c30 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt
@@ -4,6 +4,18 @@
       KCanvasContainer {g} at (140,38) size 312x214
         KCanvasContainer {g} at (140,38) size 312x214
           KCanvasContainer {g} at (140,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (140,48) size 50x204
               KCanvasItem {line} at (140,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (140,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
@@ -11,10 +23,25 @@
               KCanvasItem {line} at (140,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (158,38) size 64x214 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,200.00L140.00,200.00"]
           KCanvasContainer {g} at (370,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (370,48) size 50x204
               KCanvasItem {line} at (370,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (370,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
               KCanvasItem {line} at (370,159) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,111.00L170.00,111.00"]
               KCanvasItem {line} at (370,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (388,38) size 64x14 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,0.00L140.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum
index baa7166..a9a741c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum
@@ -1 +1 @@
-53acd5c9e31d7f372573934fc522039b
\ No newline at end of file
+9e4c4a7112a5c22d31b3a194d3506290
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png
index 60722f2..e4746f9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt
index d4060f6..1e78c30 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt
@@ -4,6 +4,18 @@
       KCanvasContainer {g} at (140,38) size 312x214
         KCanvasContainer {g} at (140,38) size 312x214
           KCanvasContainer {g} at (140,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (140,48) size 50x204
               KCanvasItem {line} at (140,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (140,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
@@ -11,10 +23,25 @@
               KCanvasItem {line} at (140,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (158,38) size 64x214 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,200.00L140.00,200.00"]
           KCanvasContainer {g} at (370,38) size 82x214 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 0 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 3 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 113x34
+                text run at (0,0) width 113: "at 6 sec."
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 98x34
+                text run at (0,0) width 98: "9+ sec."
             KCanvasContainer {g} at (370,48) size 50x204
               KCanvasItem {line} at (370,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
               KCanvasItem {line} at (370,215) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,167.00L170.00,167.00"]
               KCanvasItem {line} at (370,159) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,111.00L170.00,111.00"]
               KCanvasItem {line} at (370,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
             KCanvasItem {rect} at (388,38) size 64x14 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,0.00L140.00,0.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum
index 89e042a..e5784c0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.checksum
@@ -1 +1 @@
-d0153b75ec33ff3e91565bfaeaef1e3e
\ No newline at end of file
+595c00b9f7c76d75fa09016481a13e4e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png
index 3f6812c..863ca0a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt
index 63630ad..d40ee3c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt
@@ -4,16 +4,43 @@
       KCanvasContainer {g} at (158,45) size 304x255
         KCanvasItem {line} at (188,45) size 4x255 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M190.00,45.00L190.00,300.00"]
         KCanvasItem {line} at (458,45) size 4x255 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M460.00,45.00L460.00,300.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 107x34
+            text run at (0,0) width 107: "0-2 sec."
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 98x34
+            text run at (0,0) width 98: "5+ sec."
         KCanvasContainer {g} at (158,58) size 34x34
           KCanvasItem {rect} at (158,58) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,60.00L190.00,60.00L190.00,90.00L160.00,90.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 93x34
+              text run at (0,0) width 93: "from to"
         KCanvasContainer {g} at (158,98) size 34x34
           KCanvasItem {rect} at (158,98) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,100.00L190.00,100.00L190.00,130.00L160.00,130.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 100x34
+              text run at (0,0) width 100: "from by"
         KCanvasContainer {g} at (158,138) size 34x34
           KCanvasItem {rect} at (158,138) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,140.00L190.00,140.00L190.00,170.00L160.00,170.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 32x34
+              text run at (0,0) width 32: "by"
         KCanvasContainer {g} at (158,178) size 34x34
           KCanvasItem {rect} at (158,178) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,180.00L190.00,180.00L190.00,210.00L160.00,210.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 25x34
+              text run at (0,0) width 25: "to"
         KCanvasContainer {g} at (158,218) size 34x34
           KCanvasItem {rect} at (158,218) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,220.00L190.00,220.00L190.00,250.00L160.00,250.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 88x34
+              text run at (0,0) width 88: "values"
         KCanvasContainer {g} at (158,258) size 34x34
           KCanvasItem {rect} at (158,258) size 34x34 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M160.00,260.00L190.00,260.00L190.00,290.00L160.00,290.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 88x34
+              text run at (0,0) width 88: "values"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum
index 4c5ccab..db6dfdd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+a209289175eba87948c2136dbe7b8bfc
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png
index 15d0419..1f17b7f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt
index 4d41c60..1ba3e93 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 360x45
+            text run at (0,0) width 360: "calcMode=\"discrete\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 375x45
+            text run at (0,0) width 375: "keyTimes=\"0;.2;.4;.6\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "2"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "4"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "6"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum
index 4c5ccab..d3be76c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+4c4cb4b1c19c74ab188390ce87f26adc
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png
index 15d0419..f3e656a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt
index 4d41c60..97086df 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 329x45
+            text run at (0,0) width 329: "calcMode=\"paced\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 386x45
+            text run at (0,0) width 386: "keyTimes=\"0;.25;.5;1\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 50x42
+                text run at (0,0) width 50: "1.5"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "4"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "9"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum
index 4c5ccab..3a0a73c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+74a573d7a31a208df8f0d82b8efe75cf
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png
index 15d0419..54572e8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt
index 4d41c60..ec95fad 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 318x45
+            text run at (0,0) width 318: "calcMode=\"linear\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 386x45
+            text run at (0,0) width 386: "keyTimes=\"0;.25;.5;1\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "2"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "4"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "8"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum
index 4c5ccab..079419e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+746ee85a3198d02eeaa14ee472935b4c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png
index 15d0419..d65d8af 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt
index 4d41c60..d664baf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 325x45
+            text run at (0,0) width 325: "calcMode=\"spline\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 386x45
+            text run at (0,0) width 386: "keyTimes=\"0;.25;.5;1\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "2"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "4"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "8"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum
index 4c5ccab..13493b4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+573189efa3849966db711e95e9b34812
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png
index 15d0419..2253332 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt
index 4d41c60..4dadb2f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 360x45
+            text run at (0,0) width 360: "calcMode=\"discrete\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 375x45
+            text run at (0,0) width 375: "keyTimes=\"0;.2;.6;.8\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "2"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "6"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "8"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum
index 4c5ccab..f18726b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.checksum
@@ -1 +1 @@
-510bf4d701902e9a3524fbb62ad9c34a
\ No newline at end of file
+ae3b1c950247ea084d1479e011684f7b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png
index 15d0419..dff1a43 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt
index 4d41c60..c739c88 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt
@@ -2,11 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (148,138) size 304x102
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 318x45
+            text run at (0,0) width 318: "calcMode=\"linear\""
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 386x45
+            text run at (0,0) width 386: "keyTimes=\"0;.5;.75;1\""
         KCanvasContainer {g} at (148,138) size 304x102
           KCanvasContainer {g} at (148,138) size 304x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 142x42
+                text run at (0,0) width 142: "Time (s):"
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "0"
             KCanvasItem {line} at (448.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M300.00,0.00L300.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "4"
             KCanvasItem {line} at (403.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M255.00,0.00L255.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "6"
             KCanvasItem {line} at (328.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M180.00,0.00L180.00,100.00"]
+            RenderSVGText {text} at (0,0) size 465x42
+              RenderText {TEXT} at (0,0) size 20x42
+                text run at (0,0) width 20: "8"
             KCanvasItem {line} at (178.50,140) size 3x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [data="M30.00,0.00L30.00,100.00"]
             KCanvasItem {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [data="M0.00,0.00L300.00,0.00L300.00,80.00L0.00,80.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum
index bcf2dc3..3d08b06 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.checksum
@@ -1 +1 @@
-6ec83225981a343f1af3ada913c0a6e7
\ No newline at end of file
+581b708753d0501b65d31ad885040a8b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png
index 9332f89..ba1873a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt
index 2ed799d..a7a9bf9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt
@@ -6,6 +6,15 @@
         KCanvasContainer {g} at (320,0) size 160x360
           KCanvasContainer {a} at (320,0) size 160x180
             KCanvasItem {rect} at (320,0) size 160x180 [fill={[type=SOLID] [color=#008000]}] [data="M320.00,0.00L480.00,0.00L480.00,180.00L320.00,180.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 96x36
+                text run at (0,0) width 96: "Fade in"
           KCanvasContainer {a} at (320,180) size 160x180
             KCanvasItem {rect} at (320,180) size 160x180 [fill={[type=SOLID] [color=#800000]}] [data="M320.00,180.00L480.00,180.00L480.00,360.00L320.00,360.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 113x36
+                text run at (0,0) width 113: "Fade out"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum
index bcf2dc3..3d08b06 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.checksum
@@ -1 +1 @@
-6ec83225981a343f1af3ada913c0a6e7
\ No newline at end of file
+581b708753d0501b65d31ad885040a8b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png
index 9332f89..ba1873a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt
index dc85763..30de466 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt
@@ -8,6 +8,15 @@
         KCanvasContainer {g} at (320,0) size 160x360
           KCanvasContainer {a} at (320,0) size 160x180
             KCanvasItem {rect} at (320,0) size 160x180 [fill={[type=SOLID] [color=#008000]}] [data="M320.00,0.00L480.00,0.00L480.00,180.00L320.00,180.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 96x36
+                text run at (0,0) width 96: "Fade in"
           KCanvasContainer {a} at (320,180) size 160x180
             KCanvasItem {rect} at (320,180) size 160x180 [fill={[type=SOLID] [color=#800000]}] [data="M320.00,180.00L480.00,180.00L480.00,360.00L320.00,360.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 113x36
+                text run at (0,0) width 113: "Fade out"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum
index d72d946..0d36abc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.checksum
@@ -1 +1 @@
-bd01e2da3f364cb37295909761b3327d
\ No newline at end of file
+b151e200cf6dc46f520ccd7ca9de9f59
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png
index fb8da47..dd370c9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt
index 6b44060..0d8385e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt
@@ -3,8 +3,20 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (24.50,49.50) size 401x241
         KCanvasContainer {g} at (24.50,49.50) size 401x241
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 129x15
+              text run at (0,0) width 129: "Yellow rect at time 0s"
           KCanvasItem {rect} at (199.50,134.50) size 51x51 [stroke={[type=SOLID] [color=#000000]}] [data="M200.00,135.00L250.00,135.00L250.00,185.00L200.00,185.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 129x15
+              text run at (0,0) width 129: "Yellow rect at time 3s"
           KCanvasItem {rect} at (141.17,106.17) size 167.67x112.67 [stroke={[type=SOLID] [color=#0000FF]}] [data="M141.67,106.67L308.33,106.67L308.33,218.33L141.67,218.33"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 129x15
+              text run at (0,0) width 129: "Yellow rect at time 9s"
           KCanvasItem {rect} at (24.50,49.50) size 401x241 [stroke={[type=SOLID] [color=#0000FF]}] [data="M25.00,50.00L425.00,50.00L425.00,290.00L25.00,290.00"]
         KCanvasItem {rect} at (200,135) size 50x50 [opacity=0.50] [fill={[type=SOLID] [color=#FFFF00]}] [data="M200.00,135.00L250.00,135.00L250.00,185.00L200.00,185.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum
index a78080c..03cc9c8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.checksum
@@ -1 +1 @@
-a7fc9c8e9ec3347604b9c7758a67e80e
\ No newline at end of file
+ddd4054ed0877fe929a7056c82b2cb32
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png
index b242b3c..79a45f0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt
index 35adf56..646b719 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt
@@ -3,13 +3,25 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (15,49.50) size 375.50x241
         KCanvasContainer {g} at (15,60) size 30x210
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 64x15
+              text run at (0,0) width 64: "Color at 3s"
           KCanvasItem {rect} at (15,60) size 30x30 [fill={[type=SOLID] [color=#000000]}] [data="M15.00,60.00L45.00,60.00L45.00,90.00L15.00,90.00"]
           KCanvasItem {circle} at (20,65) size 20x20 [fill={[type=SOLID] [color=#0000FF]}] [data="M40.00,75.00L39.98,75.63L39.92,76.25L39.82,76.87L39.69,77.49L39.51,78.09L39.30,78.68L39.05,79.26L38.76,79.82L38.44,80.36L38.09,80.88L37.71,81.37L37.29,81.85L36.85,82.29L36.37,82.71L35.88,83.09L35.36,83.44L34.82,83.76L34.26,84.05L33.68,84.30L33.09,84.51L32.49,84.69L31.87,84.82L31.25,84.92L30.63,84.98L30.00,85.00L29.37,84.98L28.75,84.92L28.13,84.82L27.51,84.69L26.91,84.51L26.32,84.30L25.74,84.05L25.18,83.76L24.64,83.44L24.12,83.09L23.63,82.71L23.15,82.29L22.71,81.85L22.29,81.37L21.91,80.88L21.56,80.36L21.24,79.82L20.95,79.26L20.70,78.68L20.49,78.09L20.31,77.49L20.18,76.87L20.08,76.25L20.02,75.63L20.00,75.00L20.02,74.37L20.08,73.75L20.18,73.13L20.31,72.51L20.49,71.91L20.70,71.32L20.95,70.74L21.24,70.18L21.56,69.64L21.91,69.12L22.29,68.63L22.71,68.15L23.15,67.71L23.63,67.29L24.12,66.91L24.64,66.56L25.18,66.24L25.74,65.95L26.32,65.70L26.91,65.49L27.51,65.31L28.13,65.18L28.75,65.08L29.37,65.02L30.00,65.00L30.63,65.02L31.25,65.08L31.87,65.18L32.49,65.31L33.09,65.49L33.68,65.70L34.26,65.95L34.82,66.24L35.36,66.56L35.88,66.91L36.37,67.29L36.85,67.71L37.29,68.15L37.71,68.63L38.09,69.12L38.44,69.64L38.76,70.18L39.05,70.74L39.30,71.32L39.51,71.91L39.69,72.51L39.82,73.13L39.92,73.75L39.98,74.37"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 64x15
+              text run at (0,0) width 64: "Color at 6s"
           KCanvasItem {rect} at (15,150) size 30x30 [fill={[type=SOLID] [color=#000000]}] [data="M15.00,150.00L45.00,150.00L45.00,180.00L15.00,180.00"]
           KCanvasItem {circle} at (20,155) size 20x20 [fill={[type=SOLID] [color=#40007F]}] [data="M40.00,165.00L39.98,165.63L39.92,166.25L39.82,166.87L39.69,167.49L39.51,168.09L39.30,168.68L39.05,169.26L38.76,169.82L38.44,170.36L38.09,170.88L37.71,171.37L37.29,171.85L36.85,172.29L36.37,172.71L35.88,173.09L35.36,173.44L34.82,173.76L34.26,174.05L33.68,174.30L33.09,174.51L32.49,174.69L31.87,174.82L31.25,174.92L30.63,174.98L30.00,175.00L29.37,174.98L28.75,174.92L28.13,174.82L27.51,174.69L26.91,174.51L26.32,174.30L25.74,174.05L25.18,173.76L24.64,173.44L24.12,173.09L23.63,172.71L23.15,172.29L22.71,171.85L22.29,171.37L21.91,170.88L21.56,170.36L21.24,169.82L20.95,169.26L20.70,168.68L20.49,168.09L20.31,167.49L20.18,166.87L20.08,166.25L20.02,165.63L20.00,165.00L20.02,164.37L20.08,163.75L20.18,163.13L20.31,162.51L20.49,161.91L20.70,161.32L20.95,160.74L21.24,160.18L21.56,159.64L21.91,159.12L22.29,158.63L22.71,158.15L23.15,157.71L23.63,157.29L24.12,156.91L24.64,156.56L25.18,156.24L25.74,155.95L26.32,155.70L26.91,155.49L27.51,155.31L28.13,155.18L28.75,155.08L29.37,155.02L30.00,155.00L30.63,155.02L31.25,155.08L31.87,155.18L32.49,155.31L33.09,155.49L33.68,155.70L34.26,155.95L34.82,156.24L35.36,156.56L35.88,156.91L36.37,157.29L36.85,157.71L37.29,158.15L37.71,158.63L38.09,159.12L38.44,159.64L38.76,160.18L39.05,160.74L39.30,161.32L39.51,161.91L39.69,162.51L39.82,163.13L39.92,163.75L39.98,164.37"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 64x15
+              text run at (0,0) width 64: "Color at 9s"
           KCanvasItem {rect} at (15,240) size 30x30 [fill={[type=SOLID] [color=#000000]}] [data="M15.00,240.00L45.00,240.00L45.00,270.00L15.00,270.00"]
           KCanvasItem {circle} at (20,245) size 20x20 [fill={[type=SOLID] [color=#800000]}] [data="M40.00,255.00L39.98,255.63L39.92,256.25L39.82,256.87L39.69,257.49L39.51,258.09L39.30,258.68L39.05,259.26L38.76,259.82L38.44,260.36L38.09,260.88L37.71,261.37L37.29,261.85L36.85,262.29L36.37,262.71L35.88,263.09L35.36,263.44L34.82,263.76L34.26,264.05L33.68,264.30L33.09,264.51L32.49,264.69L31.87,264.82L31.25,264.92L30.63,264.98L30.00,265.00L29.37,264.98L28.75,264.92L28.13,264.82L27.51,264.69L26.91,264.51L26.32,264.30L25.74,264.05L25.18,263.76L24.64,263.44L24.12,263.09L23.63,262.71L23.15,262.29L22.71,261.85L22.29,261.37L21.91,260.88L21.56,260.36L21.24,259.82L20.95,259.26L20.70,258.68L20.49,258.09L20.31,257.49L20.18,256.87L20.08,256.25L20.02,255.63L20.00,255.00L20.02,254.37L20.08,253.75L20.18,253.13L20.31,252.51L20.49,251.91L20.70,251.32L20.95,250.74L21.24,250.18L21.56,249.64L21.91,249.12L22.29,248.63L22.71,248.15L23.15,247.71L23.63,247.29L24.12,246.91L24.64,246.56L25.18,246.24L25.74,245.95L26.32,245.70L26.91,245.49L27.51,245.31L28.13,245.18L28.75,245.08L29.37,245.02L30.00,245.00L30.63,245.02L31.25,245.08L31.87,245.18L32.49,245.31L33.09,245.49L33.68,245.70L34.26,245.95L34.82,246.24L35.36,246.56L35.88,246.91L36.37,247.29L36.85,247.71L37.29,248.15L37.71,248.63L38.09,249.12L38.44,249.64L38.76,250.18L39.05,250.74L39.30,251.32L39.51,251.91L39.69,252.51L39.82,253.13L39.92,253.75L39.98,254.37"]
         KCanvasContainer {g} at (149.50,49.50) size 241x241
           KCanvasItem {rect} at (149.50,49.50) size 241x241 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M150.00,50.00L390.00,50.00L390.00,290.00L150.00,290.00"]
           KCanvasItem {circle} at (160,60) size 220x220 [fill={[type=SOLID] [color=#000000]}] [data="M380.00,170.00L379.78,176.91L379.13,183.79L378.05,190.61L376.54,197.36L374.62,203.99L372.28,210.49L369.53,216.84L366.39,222.99L362.88,228.94L358.99,234.66L354.76,240.12L350.19,245.30L345.30,250.19L340.12,254.76L334.66,258.99L328.94,262.88L322.99,266.39L316.84,269.53L310.49,272.28L303.99,274.62L297.36,276.54L290.61,278.05L283.79,279.13L276.91,279.78L270.00,280.00L263.09,279.78L256.21,279.13L249.39,278.05L242.64,276.54L236.01,274.62L229.51,272.28L223.16,269.53L217.01,266.39L211.06,262.88L205.34,258.99L199.88,254.76L194.70,250.19L189.81,245.30L185.24,240.12L181.01,234.66L177.12,228.94L173.61,222.99L170.47,216.84L167.72,210.49L165.38,203.99L163.46,197.36L161.95,190.61L160.87,183.79L160.22,176.91L160.00,170.00L160.22,163.09L160.87,156.21L161.95,149.39L163.46,142.64L165.38,136.01L167.72,129.51L170.47,123.16L173.61,117.01L177.12,111.06L181.01,105.34L185.24,99.88L189.81,94.70L194.70,89.81L199.88,85.24L205.34,81.01L211.06,77.12L217.01,73.61L223.16,70.47L229.51,67.72L236.01,65.38L242.64,63.46L249.39,61.95L256.21,60.87L263.09,60.22L270.00,60.00L276.91,60.22L283.79,60.87L290.61,61.95L297.36,63.46L303.99,65.38L310.49,67.72L316.84,70.47L322.99,73.61L328.94,77.12L334.66,81.01L340.12,85.24L345.30,89.81L350.19,94.70L354.76,99.88L358.99,105.34L362.88,111.06L366.39,117.01L369.53,123.16L372.28,129.51L374.62,136.01L376.54,142.64L378.05,149.39L379.13,156.21L379.78,163.09"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum
index 8a71cb4..27ba609 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+a08593c28fdd373b36e1412e48bf3ba0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png
index fd25073..1f640f3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt
index 8aca487..71a170b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt
@@ -3,6 +3,33 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 149x23
+              text run at (0,0) width 149: "Text from 0s to 3s"
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 80x23
+              text run at (0,0) width 80: "Text at 6s"
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 80x23
+              text run at (0,0) width 80: "Text at 9s"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 78x23
+              text run at (0,0) width 78: "It's alive!"
+          RenderSVGText {text} at (0,0) size 465x46
+            RenderText {TEXT} at (0,0) size 154x46
+              text run at (0,0) width 154: "It's alive!"
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 231x69
+              text run at (0,0) width 231: "It's alive!"
         KCanvasContainer {g} at (50,90) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,90.00)}]
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 78x23
+              text run at (0,0) width 78: "It's alive!"
+            RenderText {TEXT} at (0,0) size 0x0
+            RenderText {TEXT} at (0,0) size 0x0
+            RenderText {TEXT} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum
index 9cf6a37..2e49e71 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.checksum
@@ -1 +1 @@
-a9b52fe6f2c9cdb3efc918832fb75ef8
\ No newline at end of file
+2ad6b13f5c7e2ed8f639da95a55597b0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png
index 3e4c8e7..6d437c1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt
index c603636..57968df 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt
@@ -2,11 +2,29 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (80,128) size 347x84
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 414x16
+            text run at (0,0) width 414: "Test animation options for specifying the target attribute/property."
         KCanvasContainer {g} at (80,128) size 347x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 51x16
+              text run at (0,0) width 51: "0-3 sec."
           KCanvasItem {line} at (80,208.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M80.00,160.00L200.00,160.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 54x16
+              text run at (0,0) width 54: "at 6 sec."
           KCanvasItem {line} at (80,168.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M80.00,120.00L200.00,120.00"]
           KCanvasItem {rect} at (98,128) size 104x84 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M100.00,80.00L200.00,80.00L200.00,160.00L100.00,160.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 51x16
+              text run at (0,0) width 51: "0-6 sec."
           KCanvasItem {line} at (305,208.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M305.00,160.00L425.00,160.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 54x16
+              text run at (0,0) width 54: "at 9 sec."
           KCanvasItem {line} at (305,168.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M305.00,120.00L425.00,120.00"]
           KCanvasItem {rect} at (323,128) size 104x84 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M325.00,80.00L425.00,80.00L425.00,160.00L325.00,160.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum
index 8786313..ebcb5db 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.checksum
@@ -1 +1 @@
-b88a902383b61a335bd823bbaf84a604
\ No newline at end of file
+13ba9085d7f0df8a10cdab3a2b717326
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png
index 2d4019b..938f085 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt
index e9e90b9..5503dbf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt
@@ -7,9 +7,18 @@
           KCanvasItem {circle} at (79.50,99.50) size 81.00x81.00 [stroke={[type=SOLID] [color=#000000]}] [data="M160.00,140.00L159.92,142.51L159.68,145.01L159.29,147.50L158.74,149.95L158.04,152.36L157.19,154.72L156.19,157.03L155.05,159.27L153.77,161.43L152.36,163.51L150.82,165.50L149.16,167.38L147.38,169.16L145.50,170.82L143.51,172.36L141.43,173.77L139.27,175.05L137.03,176.19L134.72,177.19L132.36,178.04L129.95,178.74L127.50,179.29L125.01,179.68L122.51,179.92L120.00,180.00L117.49,179.92L114.99,179.68L112.50,179.29L110.05,178.74L107.64,178.04L105.28,177.19L102.97,176.19L100.73,175.05L98.57,173.77L96.49,172.36L94.50,170.82L92.62,169.16L90.84,167.38L89.18,165.50L87.64,163.51L86.23,161.43L84.95,159.27L83.81,157.03L82.81,154.72L81.96,152.36L81.26,149.95L80.71,147.50L80.32,145.01L80.08,142.51L80.00,140.00L80.08,137.49L80.32,134.99L80.71,132.50L81.26,130.05L81.96,127.64L82.81,125.28L83.81,122.97L84.95,120.73L86.23,118.57L87.64,116.49L89.18,114.50L90.84,112.62L92.62,110.84L94.50,109.18L96.49,107.64L98.57,106.23L100.73,104.95L102.97,103.81L105.28,102.81L107.64,101.96L110.05,101.26L112.50,100.71L114.99,100.32L117.49,100.08L120.00,100.00L122.51,100.08L125.01,100.32L127.50,100.71L129.95,101.26L132.36,101.96L134.72,102.81L137.03,103.81L139.27,104.95L141.43,106.23L143.51,107.64L145.50,109.18L147.38,110.84L149.16,112.62L150.82,114.50L152.36,116.49L153.77,118.57L155.05,120.73L156.19,122.97L157.19,125.28L158.04,127.64L158.74,130.05L159.29,132.50L159.68,134.99L159.92,137.49"]
           KCanvasItem {circle} at (49.50,69.50) size 141.00x141.00 [stroke={[type=SOLID] [color=#000000]}] [data="M190.00,140.00L189.86,144.40L189.45,148.77L188.76,153.12L187.80,157.41L186.57,161.63L185.08,165.77L183.34,169.80L181.34,173.72L179.10,177.51L176.63,181.14L173.94,184.62L171.03,187.92L167.92,191.03L164.62,193.94L161.14,196.63L157.51,199.10L153.72,201.34L149.80,203.34L145.77,205.08L141.63,206.57L137.41,207.80L133.12,208.76L128.77,209.45L124.40,209.86L120.00,210.00L115.60,209.86L111.23,209.45L106.88,208.76L102.59,207.80L98.37,206.57L94.23,205.08L90.20,203.34L86.28,201.34L82.49,199.10L78.86,196.63L75.38,193.94L72.08,191.03L68.97,187.92L66.06,184.62L63.37,181.14L60.90,177.51L58.66,173.72L56.66,169.80L54.92,165.77L53.43,161.63L52.20,157.41L51.24,153.12L50.55,148.77L50.14,144.40L50.00,140.00L50.14,135.60L50.55,131.23L51.24,126.88L52.20,122.59L53.43,118.37L54.92,114.23L56.66,110.20L58.66,106.28L60.90,102.49L63.37,98.86L66.06,95.38L68.97,92.08L72.08,88.97L75.38,86.06L78.86,83.37L82.49,80.90L86.28,78.66L90.20,76.66L94.23,74.92L98.37,73.43L102.59,72.20L106.88,71.24L111.23,70.55L115.60,70.14L120.00,70.00L124.40,70.14L128.77,70.55L133.12,71.24L137.41,72.20L141.63,73.43L145.77,74.92L149.80,76.66L153.72,78.66L157.51,80.90L161.14,83.37L164.62,86.06L167.92,88.97L171.03,92.08L173.94,95.38L176.63,98.86L179.10,102.49L181.34,106.28L183.34,110.20L185.08,114.23L186.57,118.37L187.80,122.59L188.76,126.88L189.45,131.23L189.86,135.60"]
           KCanvasItem {circle} at (19.50,39.50) size 201.00x201.00 [stroke={[type=SOLID] [color=#000000]}] [data="M220.00,140.00L219.80,146.28L219.21,152.53L218.23,158.74L216.86,164.87L215.11,170.90L212.98,176.81L210.48,182.58L207.63,188.18L204.43,193.58L200.90,198.78L197.05,203.74L192.90,208.45L188.45,212.90L183.74,217.05L178.78,220.90L173.58,224.43L168.18,227.63L162.58,230.48L156.81,232.98L150.90,235.11L144.87,236.86L138.74,238.23L132.53,239.21L126.28,239.80L120.00,240.00L113.72,239.80L107.47,239.21L101.26,238.23L95.13,236.86L89.10,235.11L83.19,232.98L77.42,230.48L71.82,227.63L66.42,224.43L61.22,220.90L56.26,217.05L51.55,212.90L47.10,208.45L42.95,203.74L39.10,198.78L35.57,193.58L32.37,188.18L29.52,182.58L27.02,176.81L24.89,170.90L23.14,164.87L21.77,158.74L20.79,152.53L20.20,146.28L20.00,140.00L20.20,133.72L20.79,127.47L21.77,121.26L23.14,115.13L24.89,109.10L27.02,103.19L29.52,97.42L32.37,91.82L35.57,86.42L39.10,81.22L42.95,76.26L47.10,71.55L51.55,67.10L56.26,62.95L61.22,59.10L66.42,55.57L71.82,52.37L77.42,49.52L83.19,47.02L89.10,44.89L95.13,43.14L101.26,41.77L107.47,40.79L113.72,40.20L120.00,40.00L126.28,40.20L132.53,40.79L138.74,41.77L144.87,43.14L150.90,44.89L156.81,47.02L162.58,49.52L168.18,52.37L173.58,55.57L178.78,59.10L183.74,62.95L188.45,67.10L192.90,71.55L197.05,76.26L200.90,81.22L204.43,86.42L207.63,91.82L210.48,97.42L212.98,103.19L215.11,109.10L216.86,115.13L218.23,121.26L219.21,127.47L219.80,133.72"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 99x34
+              text run at (0,0) width 99: "anim. 1"
         KCanvasContainer {g} at (259.50,39.50) size 201.00x201.00
           KCanvasItem {circle} at (289.50,69.50) size 141.00x141.00 [stroke={[type=SOLID] [color=#EE33AA]}] [data="M430.00,140.00L429.86,144.40L429.45,148.77L428.76,153.12L427.80,157.41L426.57,161.63L425.08,165.77L423.34,169.80L421.34,173.72L419.10,177.51L416.63,181.14L413.94,184.62L411.03,187.92L407.92,191.03L404.62,193.94L401.14,196.63L397.51,199.10L393.72,201.34L389.80,203.34L385.77,205.08L381.63,206.57L377.41,207.80L373.12,208.76L368.77,209.45L364.40,209.86L360.00,210.00L355.60,209.86L351.23,209.45L346.88,208.76L342.59,207.80L338.37,206.57L334.23,205.08L330.20,203.34L326.28,201.34L322.49,199.10L318.86,196.63L315.38,193.94L312.08,191.03L308.97,187.92L306.06,184.62L303.37,181.14L300.90,177.51L298.66,173.72L296.66,169.80L294.92,165.77L293.43,161.63L292.20,157.41L291.24,153.12L290.55,148.77L290.14,144.40L290.00,140.00L290.14,135.60L290.55,131.23L291.24,126.88L292.20,122.59L293.43,118.37L294.92,114.23L296.66,110.20L298.66,106.28L300.90,102.49L303.37,98.86L306.06,95.38L308.97,92.08L312.08,88.97L315.38,86.06L318.86,83.37L322.49,80.90L326.28,78.66L330.20,76.66L334.23,74.92L338.37,73.43L342.59,72.20L346.88,71.24L351.23,70.55L355.60,70.14L360.00,70.00L364.40,70.14L368.77,70.55L373.12,71.24L377.41,72.20L381.63,73.43L385.77,74.92L389.80,76.66L393.72,78.66L397.51,80.90L401.14,83.37L404.62,86.06L407.92,88.97L411.03,92.08L413.94,95.38L416.63,98.86L419.10,102.49L421.34,106.28L423.34,110.20L425.08,114.23L426.57,118.37L427.80,122.59L428.76,126.88L429.45,131.23L429.86,135.60"]
           KCanvasItem {circle} at (319.50,99.50) size 81.00x81.00 [stroke={[type=SOLID] [color=#000000]}] [data="M400.00,140.00L399.92,142.51L399.68,145.01L399.29,147.50L398.74,149.95L398.04,152.36L397.19,154.72L396.19,157.03L395.05,159.27L393.77,161.43L392.36,163.51L390.82,165.50L389.16,167.38L387.38,169.16L385.50,170.82L383.51,172.36L381.43,173.77L379.27,175.05L377.03,176.19L374.72,177.19L372.36,178.04L369.95,178.74L367.50,179.29L365.01,179.68L362.51,179.92L360.00,180.00L357.49,179.92L354.99,179.68L352.50,179.29L350.05,178.74L347.64,178.04L345.28,177.19L342.97,176.19L340.73,175.05L338.57,173.77L336.49,172.36L334.50,170.82L332.62,169.16L330.84,167.38L329.18,165.50L327.64,163.51L326.23,161.43L324.95,159.27L323.81,157.03L322.81,154.72L321.96,152.36L321.26,149.95L320.71,147.50L320.32,145.01L320.08,142.51L320.00,140.00L320.08,137.49L320.32,134.99L320.71,132.50L321.26,130.05L321.96,127.64L322.81,125.28L323.81,122.97L324.95,120.73L326.23,118.57L327.64,116.49L329.18,114.50L330.84,112.62L332.62,110.84L334.50,109.18L336.49,107.64L338.57,106.23L340.73,104.95L342.97,103.81L345.28,102.81L347.64,101.96L350.05,101.26L352.50,100.71L354.99,100.32L357.49,100.08L360.00,100.00L362.51,100.08L365.01,100.32L367.50,100.71L369.95,101.26L372.36,101.96L374.72,102.81L377.03,103.81L379.27,104.95L381.43,106.23L383.51,107.64L385.50,109.18L387.38,110.84L389.16,112.62L390.82,114.50L392.36,116.49L393.77,118.57L395.05,120.73L396.19,122.97L397.19,125.28L398.04,127.64L398.74,130.05L399.29,132.50L399.68,134.99L399.92,137.49"]
           KCanvasItem {circle} at (289.50,69.50) size 141.00x141.00 [stroke={[type=SOLID] [color=#000000]}] [data="M430.00,140.00L429.86,144.40L429.45,148.77L428.76,153.12L427.80,157.41L426.57,161.63L425.08,165.77L423.34,169.80L421.34,173.72L419.10,177.51L416.63,181.14L413.94,184.62L411.03,187.92L407.92,191.03L404.62,193.94L401.14,196.63L397.51,199.10L393.72,201.34L389.80,203.34L385.77,205.08L381.63,206.57L377.41,207.80L373.12,208.76L368.77,209.45L364.40,209.86L360.00,210.00L355.60,209.86L351.23,209.45L346.88,208.76L342.59,207.80L338.37,206.57L334.23,205.08L330.20,203.34L326.28,201.34L322.49,199.10L318.86,196.63L315.38,193.94L312.08,191.03L308.97,187.92L306.06,184.62L303.37,181.14L300.90,177.51L298.66,173.72L296.66,169.80L294.92,165.77L293.43,161.63L292.20,157.41L291.24,153.12L290.55,148.77L290.14,144.40L290.00,140.00L290.14,135.60L290.55,131.23L291.24,126.88L292.20,122.59L293.43,118.37L294.92,114.23L296.66,110.20L298.66,106.28L300.90,102.49L303.37,98.86L306.06,95.38L308.97,92.08L312.08,88.97L315.38,86.06L318.86,83.37L322.49,80.90L326.28,78.66L330.20,76.66L334.23,74.92L338.37,73.43L342.59,72.20L346.88,71.24L351.23,70.55L355.60,70.14L360.00,70.00L364.40,70.14L368.77,70.55L373.12,71.24L377.41,72.20L381.63,73.43L385.77,74.92L389.80,76.66L393.72,78.66L397.51,80.90L401.14,83.37L404.62,86.06L407.92,88.97L411.03,92.08L413.94,95.38L416.63,98.86L419.10,102.49L421.34,106.28L423.34,110.20L425.08,114.23L426.57,118.37L427.80,122.59L428.76,126.88L429.45,131.23L429.86,135.60"]
           KCanvasItem {circle} at (259.50,39.50) size 201.00x201.00 [stroke={[type=SOLID] [color=#000000]}] [data="M460.00,140.00L459.80,146.28L459.21,152.53L458.23,158.74L456.86,164.87L455.11,170.90L452.98,176.81L450.48,182.58L447.63,188.18L444.43,193.58L440.90,198.78L437.05,203.74L432.90,208.45L428.45,212.90L423.74,217.05L418.78,220.90L413.58,224.43L408.18,227.63L402.58,230.48L396.81,232.98L390.90,235.11L384.87,236.86L378.74,238.23L372.53,239.21L366.28,239.80L360.00,240.00L353.72,239.80L347.47,239.21L341.26,238.23L335.13,236.86L329.10,235.11L323.19,232.98L317.42,230.48L311.82,227.63L306.42,224.43L301.22,220.90L296.26,217.05L291.55,212.90L287.10,208.45L282.95,203.74L279.10,198.78L275.57,193.58L272.37,188.18L269.52,182.58L267.02,176.81L264.89,170.90L263.14,164.87L261.77,158.74L260.79,152.53L260.20,146.28L260.00,140.00L260.20,133.72L260.79,127.47L261.77,121.26L263.14,115.13L264.89,109.10L267.02,103.19L269.52,97.42L272.37,91.82L275.57,86.42L279.10,81.22L282.95,76.26L287.10,71.55L291.55,67.10L296.26,62.95L301.22,59.10L306.42,55.57L311.82,52.37L317.42,49.52L323.19,47.02L329.10,44.89L335.13,43.14L341.26,41.77L347.47,40.79L353.72,40.20L360.00,40.00L366.28,40.20L372.53,40.79L378.74,41.77L384.87,43.14L390.90,44.89L396.81,47.02L402.58,49.52L408.18,52.37L413.58,55.57L418.78,59.10L423.74,62.95L428.45,67.10L432.90,71.55L437.05,76.26L440.90,81.22L444.43,86.42L447.63,91.82L450.48,97.42L452.98,103.19L455.11,109.10L456.86,115.13L458.23,121.26L459.21,127.47L459.80,133.72"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 99x34
+              text run at (0,0) width 99: "anim. 2"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum
index 83ed4bb..00bfb37 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.checksum
@@ -1 +1 @@
-1a145bd574e9eb9a3f8a7ee6c971ffb0
\ No newline at end of file
+51310c2ee48b5d73ad3a16e6cf9822c1
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png
index 35b0bdb..6992ff0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt
index db9f4cf..2d292a8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt
@@ -2,11 +2,29 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (80,78) size 347x164
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 394x18
+            text run at (0,0) width 394: "Test animation options for specifying the target element."
         KCanvasContainer {g} at (80,78) size 347x164
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 66x16
+              text run at (0,0) width 66: "0 to 3 sec."
           KCanvasItem {line} at (80,238.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M80.00,240.00L200.00,240.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 54x16
+              text run at (0,0) width 54: "at 6 sec."
           KCanvasItem {line} at (80,118.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M80.00,120.00L200.00,120.00"]
           KCanvasItem {rect} at (98,78) size 104x164 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M100.00,80.00L200.00,80.00L200.00,240.00L100.00,240.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 66x16
+              text run at (0,0) width 66: "0 to 6 sec."
           KCanvasItem {line} at (305,238.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M305.00,240.00L425.00,240.00"]
+          RenderSVGText {text} at (0,0) size 465x16
+            RenderText {TEXT} at (0,0) size 54x16
+              text run at (0,0) width 54: "at 9 sec."
           KCanvasItem {line} at (305,118.50) size 120x3 [stroke={[type=SOLID] [color=#008000] [stroke width=3.00]}] [data="M305.00,120.00L425.00,120.00"]
           KCanvasItem {rect} at (323,78) size 104x164 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M325.00,80.00L425.00,80.00L425.00,240.00L325.00,240.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum
index 7c93add..f7e4994 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum
@@ -1 +1 @@
-689231398e583c8e87256b855688249e
\ No newline at end of file
+c56e2a8f7828ee502c70e4fc82733415
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png
index 70c06b8..983ae76 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt
index 84a66b4..4cc393e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt
@@ -7,4 +7,7 @@
           KCanvasItem {path} at (257.50,100.50) size 60x61 [stroke={[type=SOLID] [color=#000077] [stroke width=5.00]}] [fill={[type=SOLID] [color=#F1E900]}] [data="M260.00,131.00C260.00,116.00,272.00,103.00,288.00,103.00C303.00,103.00,315.00,116.00,315.00,131.00C315.00,146.00,303.00,159.00,288.00,159.00C272.00,159.00,260.00,146.00,260.00,131.00"]
           KCanvasItem {path} at (162.50,100.50) size 60x61 [stroke={[type=SOLID] [color=#000077] [stroke width=5.00]}] [fill={[type=SOLID] [color=#F1E900]}] [data="M165.00,131.00C165.00,116.00,177.00,103.00,193.00,103.00C208.00,103.00,220.00,116.00,220.00,131.00C220.00,146.00,208.00,159.00,193.00,159.00C177.00,159.00,165.00,146.00,165.00,131.00"]
         KCanvasItem {path} at (149.13,225.34) size 187.74x56.44 [stroke={[type=SOLID] [color=#F1E900] [stroke width=5.00]}] [fill={[type=SOLID] [color=#F1E900]}] [data="M151.00,227.00C197.00,279.00,289.00,279.00,335.00,227.00"]
+        RenderSVGText {text} at (0,0) size 465x46
+          RenderText {TEXT} at (0,0) size 314x46
+            text run at (0,0) width 314: "$Revision$"
         KCanvasItem {rect} at (-1.50,-1.50) size 483x363 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum
index c645d80..93d875e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.checksum
@@ -1 +1 @@
-3975ecc6588ffe59d52b670799a87beb
\ No newline at end of file
+1c4758026c7b07fa8d95f93a287fcd4d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png
index ebfbcc1..55804bb6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt
index c8b93e1..56f5a55 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt
@@ -8,6 +8,15 @@
         KCanvasContainer {g} at (320,0) size 160x360
           KCanvasContainer {a} at (320,0) size 160x180
             KCanvasItem {rect} at (320,0) size 160x180 [fill={[type=SOLID] [color=#008000]}] [data="M320.00,0.00L480.00,0.00L480.00,180.00L320.00,180.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 96x36
+                text run at (0,0) width 96: "Fade in"
           KCanvasContainer {a} at (320,180) size 160x180
             KCanvasItem {rect} at (320,180) size 160x180 [fill={[type=SOLID] [color=#800000]}] [data="M320.00,180.00L480.00,180.00L480.00,360.00L320.00,360.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 113x36
+                text run at (0,0) width 113: "Fade out"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum
index b13559d..631ffe7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.checksum
@@ -1 +1 @@
-67aa18bf1b483da913f5a0cf6cd2dd43
\ No newline at end of file
+b171c2cda90383a9e9944665954758a0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.png
index 68cac0f..73f90d6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt
index d5abb70..77aabed 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt
@@ -6,4 +6,10 @@
           KCanvasItem {image} at (30,0) size 190x190 [fill={[type=IMAGE] [bounding box=at (0,0) size 190x190]}] [data="M30.00,0.00L220.00,0.00L220.00,190.00L30.00,190.00"]
         KCanvasContainer {g} at (260,90) size 190x190
           KCanvasItem {image} at (260,90) size 190x190 [fill={[type=IMAGE] [bounding box=at (0,0) size 190x190]}] [data="M260.00,90.00L450.00,90.00L450.00,280.00L260.00,280.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 208x14
+            text run at (0,0) width 208: "Basic test of ICC profile with an image."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum
index 3a1e791..372a787 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.checksum
@@ -1 +1 @@
-23b9c25ce7a9cd444c0247cae257018a
\ No newline at end of file
+e0d00d7ef8a04a2309e550af16894e7a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.png
index 418e90c..c892564 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt
index dedfaaa..a79347f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt
@@ -11,4 +11,16 @@
           KCanvasContainer {g} at (60,215) size 360x80
             KCanvasItem {rect} at (60,215) size 360x80 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M60.00,215.00L420.00,215.00L420.00,295.00L60.00,295.00"]
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 34x36
+              text run at (0,0) width 34: "fill"
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 73x36
+              text run at (0,0) width 73: "stroke"
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 121x36
+              text run at (0,0) width 121: "stop-color"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum
index 45371c0..81e6e9a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.checksum
@@ -1 +1 @@
-c98810d797aef06c2854084b78cb295d
\ No newline at end of file
+8095c5e52d20f7a83f66378920cf48bd
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.png
index 004a2ac..2ba4f30 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt
index b8198e7..5725f98 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt
@@ -47,4 +47,7 @@
           KCanvasItem {circle} at (345,210) size 40x40 [fill={[type=SOLID] [color=#48D1CC]}] [data="M385.00,230.00L384.96,231.26L384.84,232.51L384.65,233.75L384.37,234.97L384.02,236.18L383.60,237.36L383.10,238.52L382.53,239.64L381.89,240.72L381.18,241.76L380.41,242.75L379.58,243.69L378.69,244.58L377.75,245.41L376.76,246.18L375.72,246.89L374.64,247.53L373.52,248.10L372.36,248.60L371.18,249.02L369.97,249.37L368.75,249.65L367.51,249.84L366.26,249.96L365.00,250.00L363.74,249.96L362.49,249.84L361.25,249.65L360.03,249.37L358.82,249.02L357.64,248.60L356.48,248.10L355.36,247.53L354.28,246.89L353.24,246.18L352.25,245.41L351.31,244.58L350.42,243.69L349.59,242.75L348.82,241.76L348.11,240.72L347.47,239.64L346.90,238.52L346.40,237.36L345.98,236.18L345.63,234.97L345.35,233.75L345.16,232.51L345.04,231.26L345.00,230.00L345.04,228.74L345.16,227.49L345.35,226.25L345.63,225.03L345.98,223.82L346.40,222.64L346.90,221.48L347.47,220.36L348.11,219.28L348.82,218.24L349.59,217.25L350.42,216.31L351.31,215.42L352.25,214.59L353.24,213.82L354.28,213.11L355.36,212.47L356.48,211.90L357.64,211.40L358.82,210.98L360.03,210.63L361.25,210.35L362.49,210.16L363.74,210.04L365.00,210.00L366.26,210.04L367.51,210.16L368.75,210.35L369.97,210.63L371.18,210.98L372.36,211.40L373.52,211.90L374.64,212.47L375.72,213.11L376.76,213.82L377.75,214.59L378.69,215.42L379.58,216.31L380.41,217.25L381.18,218.24L381.89,219.28L382.53,220.36L383.10,221.48L383.60,222.64L384.02,223.82L384.37,225.03L384.65,226.25L384.84,227.49L384.96,228.74"]
           KCanvasItem {circle} at (305,250) size 40x40 [fill={[type=SOLID] [color=#48D1CC]}] [data="M345.00,270.00L344.96,271.26L344.84,272.51L344.65,273.75L344.37,274.97L344.02,276.18L343.60,277.36L343.10,278.52L342.53,279.64L341.89,280.72L341.18,281.76L340.41,282.75L339.58,283.69L338.69,284.58L337.75,285.41L336.76,286.18L335.72,286.89L334.64,287.53L333.52,288.10L332.36,288.60L331.18,289.02L329.97,289.37L328.75,289.65L327.51,289.84L326.26,289.96L325.00,290.00L323.74,289.96L322.49,289.84L321.25,289.65L320.03,289.37L318.82,289.02L317.64,288.60L316.48,288.10L315.36,287.53L314.28,286.89L313.24,286.18L312.25,285.41L311.31,284.58L310.42,283.69L309.59,282.75L308.82,281.76L308.11,280.72L307.47,279.64L306.90,278.52L306.40,277.36L305.98,276.18L305.63,274.97L305.35,273.75L305.16,272.51L305.04,271.26L305.00,270.00L305.04,268.74L305.16,267.49L305.35,266.25L305.63,265.03L305.98,263.82L306.40,262.64L306.90,261.48L307.47,260.36L308.11,259.28L308.82,258.24L309.59,257.25L310.42,256.31L311.31,255.42L312.25,254.59L313.24,253.82L314.28,253.11L315.36,252.47L316.48,251.90L317.64,251.40L318.82,250.98L320.03,250.63L321.25,250.35L322.49,250.16L323.74,250.04L325.00,250.00L326.26,250.04L327.51,250.16L328.75,250.35L329.97,250.63L331.18,250.98L332.36,251.40L333.52,251.90L334.64,252.47L335.72,253.11L336.76,253.82L337.75,254.59L338.69,255.42L339.58,256.31L340.41,257.25L341.18,258.24L341.89,259.28L342.53,260.36L343.10,261.48L343.60,262.64L344.02,263.82L344.37,265.03L344.65,266.25L344.84,267.49L344.96,268.74"]
           KCanvasItem {circle} at (345,250) size 40x40 [fill={[type=SOLID] [color=#48D1CC]}] [data="M385.00,270.00L384.96,271.26L384.84,272.51L384.65,273.75L384.37,274.97L384.02,276.18L383.60,277.36L383.10,278.52L382.53,279.64L381.89,280.72L381.18,281.76L380.41,282.75L379.58,283.69L378.69,284.58L377.75,285.41L376.76,286.18L375.72,286.89L374.64,287.53L373.52,288.10L372.36,288.60L371.18,289.02L369.97,289.37L368.75,289.65L367.51,289.84L366.26,289.96L365.00,290.00L363.74,289.96L362.49,289.84L361.25,289.65L360.03,289.37L358.82,289.02L357.64,288.60L356.48,288.10L355.36,287.53L354.28,286.89L353.24,286.18L352.25,285.41L351.31,284.58L350.42,283.69L349.59,282.75L348.82,281.76L348.11,280.72L347.47,279.64L346.90,278.52L346.40,277.36L345.98,276.18L345.63,274.97L345.35,273.75L345.16,272.51L345.04,271.26L345.00,270.00L345.04,268.74L345.16,267.49L345.35,266.25L345.63,265.03L345.98,263.82L346.40,262.64L346.90,261.48L347.47,260.36L348.11,259.28L348.82,258.24L349.59,257.25L350.42,256.31L351.31,255.42L352.25,254.59L353.24,253.82L354.28,253.11L355.36,252.47L356.48,251.90L357.64,251.40L358.82,250.98L360.03,250.63L361.25,250.35L362.49,250.16L363.74,250.04L365.00,250.00L366.26,250.04L367.51,250.16L368.75,250.35L369.97,250.63L371.18,250.98L372.36,251.40L373.52,251.90L374.64,252.47L375.72,253.11L376.76,253.82L377.75,254.59L378.69,255.42L379.58,256.31L380.41,257.25L381.18,258.24L381.89,259.28L382.53,260.36L383.10,261.48L383.60,262.64L384.02,263.82L384.37,265.03L384.65,266.25L384.84,267.49L384.96,268.74"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum
index 700a9fd..a6fbc51 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.checksum
@@ -1 +1 @@
-46951653e8c1cece695b6b76f2720f7d
\ No newline at end of file
+33305780c81d5a44836bfc423bb7d3c3
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.png
index d8f31f5..786c2d3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt
index b5c8f8a..08a1d03 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt
@@ -35,4 +35,7 @@
           KCanvasItem {circle} at (345,115) size 40x40 [fill={[type=SOLID] [color=#5577EE]}] [data="M385.00,135.00L384.96,136.26L384.84,137.51L384.65,138.75L384.37,139.97L384.02,141.18L383.60,142.36L383.10,143.52L382.53,144.64L381.89,145.72L381.18,146.76L380.41,147.75L379.58,148.69L378.69,149.58L377.75,150.41L376.76,151.18L375.72,151.89L374.64,152.53L373.52,153.10L372.36,153.60L371.18,154.02L369.97,154.37L368.75,154.65L367.51,154.84L366.26,154.96L365.00,155.00L363.74,154.96L362.49,154.84L361.25,154.65L360.03,154.37L358.82,154.02L357.64,153.60L356.48,153.10L355.36,152.53L354.28,151.89L353.24,151.18L352.25,150.41L351.31,149.58L350.42,148.69L349.59,147.75L348.82,146.76L348.11,145.72L347.47,144.64L346.90,143.52L346.40,142.36L345.98,141.18L345.63,139.97L345.35,138.75L345.16,137.51L345.04,136.26L345.00,135.00L345.04,133.74L345.16,132.49L345.35,131.25L345.63,130.03L345.98,128.82L346.40,127.64L346.90,126.48L347.47,125.36L348.11,124.28L348.82,123.24L349.59,122.25L350.42,121.31L351.31,120.42L352.25,119.59L353.24,118.82L354.28,118.11L355.36,117.47L356.48,116.90L357.64,116.40L358.82,115.98L360.03,115.63L361.25,115.35L362.49,115.16L363.74,115.04L365.00,115.00L366.26,115.04L367.51,115.16L368.75,115.35L369.97,115.63L371.18,115.98L372.36,116.40L373.52,116.90L374.64,117.47L375.72,118.11L376.76,118.82L377.75,119.59L378.69,120.42L379.58,121.31L380.41,122.25L381.18,123.24L381.89,124.28L382.53,125.36L383.10,126.48L383.60,127.64L384.02,128.82L384.37,130.03L384.65,131.25L384.84,132.49L384.96,133.74"]
           KCanvasItem {circle} at (305,155) size 40x40 [fill={[type=SOLID] [color=#5577EE]}] [data="M345.00,175.00L344.96,176.26L344.84,177.51L344.65,178.75L344.37,179.97L344.02,181.18L343.60,182.36L343.10,183.52L342.53,184.64L341.89,185.72L341.18,186.76L340.41,187.75L339.58,188.69L338.69,189.58L337.75,190.41L336.76,191.18L335.72,191.89L334.64,192.53L333.52,193.10L332.36,193.60L331.18,194.02L329.97,194.37L328.75,194.65L327.51,194.84L326.26,194.96L325.00,195.00L323.74,194.96L322.49,194.84L321.25,194.65L320.03,194.37L318.82,194.02L317.64,193.60L316.48,193.10L315.36,192.53L314.28,191.89L313.24,191.18L312.25,190.41L311.31,189.58L310.42,188.69L309.59,187.75L308.82,186.76L308.11,185.72L307.47,184.64L306.90,183.52L306.40,182.36L305.98,181.18L305.63,179.97L305.35,178.75L305.16,177.51L305.04,176.26L305.00,175.00L305.04,173.74L305.16,172.49L305.35,171.25L305.63,170.03L305.98,168.82L306.40,167.64L306.90,166.48L307.47,165.36L308.11,164.28L308.82,163.24L309.59,162.25L310.42,161.31L311.31,160.42L312.25,159.59L313.24,158.82L314.28,158.11L315.36,157.47L316.48,156.90L317.64,156.40L318.82,155.98L320.03,155.63L321.25,155.35L322.49,155.16L323.74,155.04L325.00,155.00L326.26,155.04L327.51,155.16L328.75,155.35L329.97,155.63L331.18,155.98L332.36,156.40L333.52,156.90L334.64,157.47L335.72,158.11L336.76,158.82L337.75,159.59L338.69,160.42L339.58,161.31L340.41,162.25L341.18,163.24L341.89,164.28L342.53,165.36L343.10,166.48L343.60,167.64L344.02,168.82L344.37,170.03L344.65,171.25L344.84,172.49L344.96,173.74"]
           KCanvasItem {circle} at (345,155) size 40x40 [fill={[type=SOLID] [color=#5577EE]}] [data="M385.00,175.00L384.96,176.26L384.84,177.51L384.65,178.75L384.37,179.97L384.02,181.18L383.60,182.36L383.10,183.52L382.53,184.64L381.89,185.72L381.18,186.76L380.41,187.75L379.58,188.69L378.69,189.58L377.75,190.41L376.76,191.18L375.72,191.89L374.64,192.53L373.52,193.10L372.36,193.60L371.18,194.02L369.97,194.37L368.75,194.65L367.51,194.84L366.26,194.96L365.00,195.00L363.74,194.96L362.49,194.84L361.25,194.65L360.03,194.37L358.82,194.02L357.64,193.60L356.48,193.10L355.36,192.53L354.28,191.89L353.24,191.18L352.25,190.41L351.31,189.58L350.42,188.69L349.59,187.75L348.82,186.76L348.11,185.72L347.47,184.64L346.90,183.52L346.40,182.36L345.98,181.18L345.63,179.97L345.35,178.75L345.16,177.51L345.04,176.26L345.00,175.00L345.04,173.74L345.16,172.49L345.35,171.25L345.63,170.03L345.98,168.82L346.40,167.64L346.90,166.48L347.47,165.36L348.11,164.28L348.82,163.24L349.59,162.25L350.42,161.31L351.31,160.42L352.25,159.59L353.24,158.82L354.28,158.11L355.36,157.47L356.48,156.90L357.64,156.40L358.82,155.98L360.03,155.63L361.25,155.35L362.49,155.16L363.74,155.04L365.00,155.00L366.26,155.04L367.51,155.16L368.75,155.35L369.97,155.63L371.18,155.98L372.36,156.40L373.52,156.90L374.64,157.47L375.72,158.11L376.76,158.82L377.75,159.59L378.69,160.42L379.58,161.31L380.41,162.25L381.18,163.24L381.89,164.28L382.53,165.36L383.10,166.48L383.60,167.64L384.02,168.82L384.37,170.03L384.65,171.25L384.84,172.49L384.96,173.74"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum
index 6135ac8..620ab9d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.checksum
@@ -1 +1 @@
-853c92df1bc55efb6bab7727946de354
\ No newline at end of file
+0299c6ab09448ef5958f72e25a12ab05
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png
index 6178682..9ffb18f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
index 8933bae..f75a96d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
@@ -94,18 +94,33 @@
               KCanvasItem {rect} at (210,200) size 40x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,1.00L0.00,1.00"]
               KCanvasItem {rect} at (210,200) size 2x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L1.00,0.00L1.00,20.00L0.00,20.00"]
           KCanvasContainer {g} at (48,88) size 325x115
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 106x18
+                text run at (0,0) width 106: "translate (50, 50)"
             KCanvasItem {rect} at (48,88) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M48.00,48.00L53.00,48.00L53.00,53.00L48.00,53.00"]
             KCanvasItem {rect} at (68,88) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M68.00,48.00L73.00,48.00L73.00,53.00L68.00,53.00"]
             KCanvasItem {rect} at (48,108) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M48.00,68.00L53.00,68.00L53.00,73.00L48.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 66x18
+                text run at (0,0) width 66: "rotate(-90)"
             KCanvasItem {rect} at (148,108) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M148.00,68.00L153.00,68.00L153.00,73.00L148.00,73.00"]
             KCanvasItem {rect} at (148,88) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M148.00,48.00L153.00,48.00L153.00,53.00L148.00,53.00"]
             KCanvasItem {rect} at (168,108) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M168.00,68.00L173.00,68.00L173.00,73.00L168.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 75x18
+                text run at (0,0) width 75: "skew x (45)"
             KCanvasItem {rect} at (248,88) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M248.00,48.00L253.00,48.00L253.00,53.00L248.00,53.00"]
             KCanvasItem {rect} at (268,88) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M268.00,48.00L273.00,48.00L273.00,53.00L268.00,53.00"]
             KCanvasItem {rect} at (268,108) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M268.00,68.00L273.00,68.00L273.00,73.00L268.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 75x18
+                text run at (0,0) width 75: "skew y (45)"
             KCanvasItem {rect} at (348,88) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M348.00,48.00L353.00,48.00L353.00,53.00L348.00,53.00"]
             KCanvasItem {rect} at (368,108) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M368.00,68.00L373.00,68.00L373.00,73.00L368.00,73.00"]
             KCanvasItem {rect} at (348,108) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M348.00,68.00L353.00,68.00L353.00,73.00L348.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 53x18
+                text run at (0,0) width 53: "scale (2)"
             KCanvasItem {rect} at (208,158) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M208.00,118.00L213.00,118.00L213.00,123.00L208.00,123.00"]
             KCanvasItem {rect} at (248,158) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M248.00,118.00L253.00,118.00L253.00,123.00L248.00,123.00"]
             KCanvasItem {rect} at (208,198) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M208.00,158.00L213.00,158.00L213.00,163.00L208.00,163.00"]
@@ -120,10 +135,19 @@
                   KCanvasItem {rect} at (616.67,165) size 60x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,1.00L0.00,1.00"]
                   KCanvasItem {rect} at (616.67,165) size 2.01x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L0.67,0.00L0.67,20.00L0.00,20.00"]
           KCanvasContainer {g} at (48,238) size 265x45
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 198x18
+                text run at (0,0) width 198: "scale(25, 95) and translate(2, 2)"
             KCanvasItem {rect} at (48,238) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M48.00,208.00L53.00,208.00L53.00,213.00L48.00,213.00"]
             KCanvasItem {rect} at (108,238) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M108.00,208.00L113.00,208.00L113.00,213.00L108.00,213.00"]
             KCanvasItem {rect} at (48,278) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M48.00,248.00L53.00,248.00L53.00,253.00L48.00,253.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 202x18
+                text run at (0,0) width 202: "scale(25, 95) then translate(2, 2)"
             KCanvasItem {rect} at (248,238) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M248.00,208.00L253.00,208.00L253.00,213.00L248.00,213.00"]
             KCanvasItem {rect} at (308,238) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M308.00,208.00L313.00,208.00L313.00,213.00L308.00,213.00"]
             KCanvasItem {rect} at (248,278) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M248.00,248.00L253.00,248.00L253.00,253.00L248.00,253.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum
index 763a9f9..48fec0b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum
@@ -1 +1 @@
-ec9d4e15c88d0406c77f5a05d69e1a0f
\ No newline at end of file
+834110fba02d1b80dfb32eb577d6f602
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png
index 5eaeffd..c1db037 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
index 8d5cd79..bade52d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
@@ -11,10 +11,19 @@
               KCanvasItem {rect} at (250,50.00) size 5x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,2.00L0.00,2.00"]
               KCanvasItem {rect} at (250,95.00) size 50x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L2.00,0.00L2.00,20.00L0.00,20.00"]
           KCanvasContainer {g} at (90,220) size 312.50x62.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-30.00,0.00)}]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 106x18
+                text run at (0,0) width 106: "translate (50, 50)"
             KCanvasItem {rect} at (90,220) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M48.00,48.00L53.00,48.00L53.00,53.00L48.00,53.00"]
             KCanvasItem {rect} at (140,220) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M68.00,48.00L73.00,48.00L73.00,53.00L68.00,53.00"]
             KCanvasItem {rect} at (90,270) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M48.00,68.00L53.00,68.00L53.00,73.00L48.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 66x18
+                text run at (0,0) width 66: "rotate(-90)"
             KCanvasItem {rect} at (340,270) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M148.00,68.00L153.00,68.00L153.00,73.00L148.00,73.00"]
             KCanvasItem {rect} at (340,220) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M148.00,48.00L153.00,48.00L153.00,53.00L148.00,53.00"]
             KCanvasItem {rect} at (390,270) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M168.00,68.00L173.00,68.00L173.00,73.00L168.00,73.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum
index 76c985e..d2931ec 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum
@@ -1 +1 @@
-e9499e870e473b4e39c153f2a1817bf4
\ No newline at end of file
+959154af2b8f1279ea0513b093c1f724
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png
index 59e1509..47fc574 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt
index 401fe26..628f622 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt
@@ -11,10 +11,19 @@
               KCanvasItem {rect} at (-210,-410) size 50x55 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,2.00L0.00,2.00"]
               KCanvasItem {rect} at (-210,-410) size 5x55 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L2.00,0.00L2.00,20.00L0.00,20.00"]
           KCanvasContainer {g} at (60,220) size 312.50x62.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-560.00,0.00)}]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 75x18
+                text run at (0,0) width 75: "skew x (45)"
             KCanvasItem {rect} at (60,220) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M248.00,48.00L253.00,48.00L253.00,53.00L248.00,53.00"]
             KCanvasItem {rect} at (110,220) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M268.00,48.00L273.00,48.00L273.00,53.00L268.00,53.00"]
             KCanvasItem {rect} at (110,270) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M268.00,68.00L273.00,68.00L273.00,73.00L268.00,73.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 75x18
+                text run at (0,0) width 75: "skew y (45)"
             KCanvasItem {rect} at (310,220) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M348.00,48.00L353.00,48.00L353.00,53.00L348.00,53.00"]
             KCanvasItem {rect} at (360,270) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M368.00,68.00L373.00,68.00L373.00,73.00L368.00,73.00"]
             KCanvasItem {rect} at (310,270) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M348.00,68.00L353.00,68.00L353.00,73.00L348.00,73.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum
index 8467440..edcb6c5a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum
@@ -1 +1 @@
-6a01e5a9bc2ec87fedec621af073a481
\ No newline at end of file
+0964a858b37636d810d8c3cdd0a7fe05
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png
index d4d6403..b6b73fe 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt
index 04b4ed6..06d8fda 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt
@@ -8,7 +8,13 @@
               KCanvasItem {rect} at (160,250) size 100x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,1.00L0.00,1.00"]
               KCanvasItem {rect} at (160,250) size 5x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L1.00,0.00L1.00,20.00L0.00,20.00"]
           KCanvasContainer {g} at (156,140) size 112.50x112.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-364.00,-230.00)}]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 53x18
+                text run at (0,0) width 53: "scale (2)"
             KCanvasItem {rect} at (156,140) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M208.00,118.00L213.00,118.00L213.00,123.00L208.00,123.00"]
             KCanvasItem {rect} at (256,140) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M248.00,118.00L253.00,118.00L253.00,123.00L248.00,123.00"]
             KCanvasItem {rect} at (156,240) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M208.00,158.00L213.00,158.00L213.00,163.00L208.00,163.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum
index 84c98eb..f5b945b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum
@@ -1 +1 @@
-5713ced8eee8d61cb02466cd7cc82c9b
\ No newline at end of file
+ae81c8d41220d2f0c8cf6e8d8315b3f7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png
index ab570b8..b8a1f34 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt
index 15b8363..fbd9007 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt
@@ -8,7 +8,13 @@
               KCanvasItem {rect} at (-550,-1575) size 150x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,1.00L0.00,1.00"]
               KCanvasItem {rect} at (-550,-1575) size 5.03x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L0.67,0.00L0.67,20.00L0.00,20.00"]
           KCanvasContainer {g} at (30,145) size 162.50x112.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-90.00,-450.00)}]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 180x18
+                text run at (0,0) width 180: "scale(25, 95) - translate(2, 2)"
             KCanvasItem {rect} at (30,145) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M48.00,208.00L53.00,208.00L53.00,213.00L48.00,213.00"]
             KCanvasItem {rect} at (180,145) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M108.00,208.00L113.00,208.00L113.00,213.00L108.00,213.00"]
             KCanvasItem {rect} at (30,245) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M48.00,248.00L53.00,248.00L53.00,253.00L48.00,253.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum
index 0e2935d..455aa0f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum
@@ -1 +1 @@
-d3b45f38598727b0e306ded625af25cd
\ No newline at end of file
+859fbf153b059a5a63be305a2b99a451
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png
index 33e2590..5cdeef0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
index f6dbba6..a26dfae 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
@@ -10,7 +10,13 @@
                   KCanvasItem {rect} at (-748.33,-1995) size 150x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L20.00,0.00L20.00,1.00L0.00,1.00"]
                   KCanvasItem {rect} at (-748.33,-1995) size 5.03x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L0.67,0.00L0.67,20.00L0.00,20.00"]
           KCanvasContainer {g} at (20,145) size 162.50x112.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-600.00,-450.00)}]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 202x18
+                text run at (0,0) width 202: "scale(25, 95) then translate(2, 2)"
             KCanvasItem {rect} at (20,145) size 12.50x12.50 [fill={[type=SOLID] [color=#000000]}] [data="M248.00,208.00L253.00,208.00L253.00,213.00L248.00,213.00"]
             KCanvasItem {rect} at (170,145) size 12.50x12.50 [fill={[type=SOLID] [color=#0000FF]}] [data="M308.00,208.00L313.00,208.00L313.00,213.00L308.00,213.00"]
             KCanvasItem {rect} at (20,245) size 12.50x12.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M248.00,248.00L253.00,248.00L253.00,253.00L248.00,253.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum
index 680d79a..3e800ad 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum
@@ -1 +1 @@
-60d037241b28282efc8cd0c3f08a5c24
\ No newline at end of file
+6184736db8b366bb0bc6b1f6f919eb5c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.png
index b58e2b6..4b6e1f7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
index 9b76005..da2ba56 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
@@ -11,16 +11,40 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.25,0.25) size 479.25x359.25
       KCanvasContainer {g} at (0.25,0.25) size 479.25x359.25
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 378x18
+            text run at (0,0) width 378: "Bounding box relative coordinates (percentage and fraction)"
         KCanvasContainer {g} at (30,40) size 50x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,40.00)}]
           KCanvasItem {rect} at (30,40) size 50x20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M0.00,0.00L50.00,0.00L50.00,20.00L0.00,20.00"]
           KCanvasItem {rect} at (30,60) size 50x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,20.00)}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M0.00,0.00L50.00,0.00L50.00,20.00L0.00,20.00"]
           KCanvasItem {rect} at (30,80) size 50x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(0,0)] [end=(50,0)]}] [data="M0.00,0.00L50.00,0.00L50.00,20.00L0.00,20.00"]
           KCanvasItem {line} at (30,59.50) size 50x1 [stroke={[type=SOLID] [color=#CCCCCC]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,20.00L50.00,20.00"]
           KCanvasItem {line} at (30,79.50) size 50x1 [stroke={[type=SOLID] [color=#CCCCCC]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,40.00L50.00,40.00"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 69x18
+              text run at (0,0) width 69: "Percentage"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 52x18
+              text run at (0,0) width 52: "Fraction"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 72x18
+              text run at (0,0) width 72: "User Space"
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 345x18
+            text run at (0,0) width 345: "Bounding box relative length (percentage and fraction)"
         KCanvasContainer {g} at (30,140) size 182x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,140.00)}]
           KCanvasItem {rect} at (30,140) size 60x60 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(25,25)] [focal=(25,25)] [radius=25.00]}] [data="M0.00,0.00L60.00,0.00L60.00,60.00L0.00,60.00"]
           KCanvasItem {rect} at (91,140) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(61.00,0.00)}] [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(25,25)] [focal=(25,25)] [radius=25.00]}] [data="M0.00,0.00L60.00,0.00L60.00,60.00L0.00,60.00"]
           KCanvasItem {rect} at (152,140) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(122.00,0.00)}] [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(15,15)] [focal=(15,15)] [radius=15.00]}] [data="M0.00,0.00L60.00,0.00L60.00,60.00L0.00,60.00"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 51x18
+              text run at (0,0) width 51: "Percent."
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 52x18
+              text run at (0,0) width 52: "Fraction"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 72x18
+              text run at (0,0) width 72: "User Space"
         KCanvasContainer {pattern} at (0.25,0.25) size 0.50x0.50
           KCanvasItem {circle} at (0.25,0.25) size 0.50x0.50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.75,0.50L0.75,0.52L0.75,0.53L0.75,0.55L0.74,0.56L0.74,0.58L0.73,0.59L0.73,0.61L0.72,0.62L0.71,0.63L0.70,0.65L0.69,0.66L0.68,0.67L0.67,0.68L0.66,0.69L0.65,0.70L0.63,0.71L0.62,0.72L0.61,0.73L0.59,0.73L0.58,0.74L0.56,0.74L0.55,0.75L0.53,0.75L0.52,0.75L0.50,0.75L0.48,0.75L0.47,0.75L0.45,0.75L0.44,0.74L0.42,0.74L0.41,0.73L0.39,0.73L0.38,0.72L0.37,0.71L0.35,0.70L0.34,0.69L0.33,0.68L0.32,0.67L0.31,0.66L0.30,0.65L0.29,0.63L0.28,0.62L0.27,0.61L0.27,0.59L0.26,0.58L0.26,0.56L0.25,0.55L0.25,0.53L0.25,0.52L0.25,0.50L0.25,0.48L0.25,0.47L0.25,0.45L0.26,0.44L0.26,0.42L0.27,0.41L0.27,0.39L0.28,0.38L0.29,0.37L0.30,0.35L0.31,0.34L0.32,0.33L0.33,0.32L0.34,0.31L0.35,0.30L0.37,0.29L0.38,0.28L0.39,0.27L0.41,0.27L0.42,0.26L0.44,0.26L0.45,0.25L0.47,0.25L0.48,0.25L0.50,0.25L0.52,0.25L0.53,0.25L0.55,0.25L0.56,0.26L0.58,0.26L0.59,0.27L0.61,0.27L0.62,0.28L0.63,0.29L0.65,0.30L0.66,0.31L0.67,0.32L0.68,0.33L0.69,0.34L0.70,0.35L0.71,0.37L0.72,0.38L0.73,0.39L0.73,0.41L0.74,0.42L0.74,0.44L0.75,0.45L0.75,0.47L0.75,0.48"]
           KCanvasItem {rect} at (0.40,0.40) size 0.20x0.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.40,0.40L0.60,0.40L0.60,0.60L0.40,0.60"]
@@ -30,9 +54,24 @@
         KCanvasContainer {pattern} at (15,5) size 20x20
           KCanvasItem {circle} at (15,5) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M35.00,15.00L34.98,15.63L34.92,16.25L34.82,16.87L34.69,17.49L34.51,18.09L34.30,18.68L34.05,19.26L33.76,19.82L33.44,20.36L33.09,20.88L32.71,21.37L32.29,21.85L31.85,22.29L31.37,22.71L30.88,23.09L30.36,23.44L29.82,23.76L29.26,24.05L28.68,24.30L28.09,24.51L27.49,24.69L26.87,24.82L26.25,24.92L25.63,24.98L25.00,25.00L24.37,24.98L23.75,24.92L23.13,24.82L22.51,24.69L21.91,24.51L21.32,24.30L20.74,24.05L20.18,23.76L19.64,23.44L19.12,23.09L18.63,22.71L18.15,22.29L17.71,21.85L17.29,21.37L16.91,20.88L16.56,20.36L16.24,19.82L15.95,19.26L15.70,18.68L15.49,18.09L15.31,17.49L15.18,16.87L15.08,16.25L15.02,15.63L15.00,15.00L15.02,14.37L15.08,13.75L15.18,13.13L15.31,12.51L15.49,11.91L15.70,11.32L15.95,10.74L16.24,10.18L16.56,9.64L16.91,9.12L17.29,8.63L17.71,8.15L18.15,7.71L18.63,7.29L19.12,6.91L19.64,6.56L20.18,6.24L20.74,5.95L21.32,5.70L21.91,5.49L22.51,5.31L23.13,5.18L23.75,5.08L24.37,5.02L25.00,5.00L25.63,5.02L26.25,5.08L26.87,5.18L27.49,5.31L28.09,5.49L28.68,5.70L29.26,5.95L29.82,6.24L30.36,6.56L30.88,6.91L31.37,7.29L31.85,7.71L32.29,8.15L32.71,8.63L33.09,9.12L33.44,9.64L33.76,10.18L34.05,10.74L34.30,11.32L34.51,11.91L34.69,12.51L34.82,13.13L34.92,13.75L34.98,14.37"]
           KCanvasItem {rect} at (20,12) size 10x6 [fill={[type=SOLID] [color=#0000FF]}] [data="M20.00,12.00L30.00,12.00L30.00,18.00L20.00,18.00"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 385x18
+            text run at (0,0) width 385: "Bounding box relative width/height (percentage and fraction)"
         KCanvasContainer {g} at (29.50,249.50) size 351x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,250.00)}]
           KCanvasItem {rect} at (29.50,249.50) size 51x31 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {rect} at (179.50,249.50) size 51x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {rect} at (329.50,249.50) size 51x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 69x18
+              text run at (0,0) width 69: "Percentage"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 52x18
+              text run at (0,0) width 52: "Fraction"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 72x18
+              text run at (0,0) width 72: "User Space"
         KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum
index fadf7bc..3d87f5f7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum
@@ -1 +1 @@
-3dafdc3bd24beb6d41d29639afbcdd82
\ No newline at end of file
+7719ba226ae86a5bf61d89ff9dd9df27
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.png
index aa0cc35..1b267f6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt
index 1408990..45ca4c5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt
@@ -2,19 +2,37 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0.71,20) size 144.43x255.14
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 328x20
+            text run at (0,0) width 328: "CSS pixel coordinate to user space conversion"
         KCanvasContainer {g} at (25,20) size 20x20 [transform={m=((4.00,0.00)(0.00,4.00)) t=(5.00,0.00)}]
           KCanvasItem {circle} at (25,20) size 20x20 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,7.50L10.00,7.66L9.98,7.81L9.96,7.97L9.92,8.12L9.88,8.27L9.82,8.42L9.76,8.56L9.69,8.70L9.61,8.84L9.52,8.97L9.43,9.09L9.32,9.21L9.21,9.32L9.09,9.43L8.97,9.52L8.84,9.61L8.70,9.69L8.56,9.76L8.42,9.82L8.27,9.88L8.12,9.92L7.97,9.96L7.81,9.98L7.66,10.00L7.50,10.00L7.34,10.00L7.19,9.98L7.03,9.96L6.88,9.92L6.73,9.88L6.58,9.82L6.44,9.76L6.30,9.69L6.16,9.61L6.03,9.52L5.91,9.43L5.79,9.32L5.68,9.21L5.57,9.09L5.48,8.97L5.39,8.84L5.31,8.70L5.24,8.56L5.18,8.42L5.12,8.27L5.08,8.12L5.04,7.97L5.02,7.81L5.00,7.66L5.00,7.50L5.00,7.34L5.02,7.19L5.04,7.03L5.08,6.88L5.12,6.73L5.18,6.58L5.24,6.44L5.31,6.30L5.39,6.16L5.48,6.03L5.57,5.91L5.68,5.79L5.79,5.68L5.91,5.57L6.03,5.48L6.16,5.39L6.30,5.31L6.44,5.24L6.58,5.18L6.73,5.12L6.88,5.08L7.03,5.04L7.19,5.02L7.34,5.00L7.50,5.00L7.66,5.00L7.81,5.02L7.97,5.04L8.12,5.08L8.27,5.12L8.42,5.18L8.56,5.24L8.70,5.31L8.84,5.39L8.97,5.48L9.09,5.57L9.21,5.68L9.32,5.79L9.43,5.91L9.52,6.03L9.61,6.16L9.69,6.30L9.76,6.44L9.82,6.58L9.88,6.73L9.92,6.88L9.96,7.03L9.98,7.19L10.00,7.34"]
           KCanvasItem {circle} at (29,24) size 12x12 [fill={[type=SOLID] [color=#FF0000]}] [data="M9.00,7.50L9.00,7.59L8.99,7.69L8.97,7.78L8.95,7.87L8.93,7.96L8.89,8.05L8.86,8.14L8.81,8.22L8.77,8.30L8.71,8.38L8.66,8.46L8.59,8.53L8.53,8.59L8.46,8.66L8.38,8.71L8.30,8.77L8.22,8.81L8.14,8.86L8.05,8.89L7.96,8.93L7.87,8.95L7.78,8.97L7.69,8.99L7.59,9.00L7.50,9.00L7.41,9.00L7.31,8.99L7.22,8.97L7.13,8.95L7.04,8.93L6.95,8.89L6.86,8.86L6.78,8.81L6.70,8.77L6.62,8.71L6.54,8.66L6.47,8.59L6.41,8.53L6.34,8.46L6.29,8.38L6.23,8.30L6.19,8.22L6.14,8.14L6.11,8.05L6.07,7.96L6.05,7.87L6.03,7.78L6.01,7.69L6.00,7.59L6.00,7.50L6.00,7.41L6.01,7.31L6.03,7.22L6.05,7.13L6.07,7.04L6.11,6.95L6.14,6.86L6.19,6.78L6.23,6.70L6.29,6.62L6.34,6.54L6.41,6.47L6.47,6.41L6.54,6.34L6.62,6.29L6.70,6.23L6.78,6.19L6.86,6.14L6.95,6.11L7.04,6.07L7.13,6.05L7.22,6.03L7.31,6.01L7.41,6.00L7.50,6.00L7.59,6.00L7.69,6.01L7.78,6.03L7.87,6.05L7.96,6.07L8.05,6.11L8.14,6.14L8.22,6.19L8.30,6.23L8.38,6.29L8.46,6.34L8.53,6.41L8.59,6.47L8.66,6.54L8.71,6.62L8.77,6.70L8.81,6.78L8.86,6.86L8.89,6.95L8.93,7.04L8.95,7.13L8.97,7.22L8.99,7.31L9.00,7.41"]
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 344x20
+            text run at (0,0) width 344: "Percentage coordinates to user space conversion"
         KCanvasContainer {g} at (25,70) size 20x20 [transform={m=((4.00,0.00)(0.00,4.00)) t=(5.00,50.00)}]
           KCanvasItem {circle} at (25,70) size 20x20 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,7.50L10.00,7.66L9.98,7.81L9.96,7.97L9.92,8.12L9.88,8.27L9.82,8.42L9.76,8.56L9.69,8.70L9.61,8.84L9.52,8.97L9.43,9.09L9.32,9.21L9.21,9.32L9.09,9.43L8.97,9.52L8.84,9.61L8.70,9.69L8.56,9.76L8.42,9.82L8.27,9.88L8.12,9.92L7.97,9.96L7.81,9.98L7.66,10.00L7.50,10.00L7.34,10.00L7.19,9.98L7.03,9.96L6.88,9.92L6.73,9.88L6.58,9.82L6.44,9.76L6.30,9.69L6.16,9.61L6.03,9.52L5.91,9.43L5.79,9.32L5.68,9.21L5.57,9.09L5.48,8.97L5.39,8.84L5.31,8.70L5.24,8.56L5.18,8.42L5.12,8.27L5.08,8.12L5.04,7.97L5.02,7.81L5.00,7.66L5.00,7.50L5.00,7.34L5.02,7.19L5.04,7.03L5.08,6.88L5.12,6.73L5.18,6.58L5.24,6.44L5.31,6.30L5.39,6.16L5.48,6.03L5.57,5.91L5.68,5.79L5.79,5.68L5.91,5.57L6.03,5.48L6.16,5.39L6.30,5.31L6.44,5.24L6.58,5.18L6.73,5.12L6.88,5.08L7.03,5.04L7.19,5.02L7.34,5.00L7.50,5.00L7.66,5.00L7.81,5.02L7.97,5.04L8.12,5.08L8.27,5.12L8.42,5.18L8.56,5.24L8.70,5.31L8.84,5.39L8.97,5.48L9.09,5.57L9.21,5.68L9.32,5.79L9.43,5.91L9.52,6.03L9.61,6.16L9.69,6.30L9.76,6.44L9.82,6.58L9.88,6.73L9.92,6.88L9.96,7.03L9.98,7.19L10.00,7.34"]
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 302x20
+            text run at (0,0) width 302: "CSS width/height to user space conversion"
         KCanvasContainer {g} at (10,115) size 40x40 [transform={m=((4.00,0.00)(0.00,4.00)) t=(30.00,115.00)}]
           KCanvasItem {rect} at (10,115) size 40x20 [fill={[type=SOLID] [color=#000000]}] [data="M-5.00,0.00L5.00,0.00L5.00,5.00L-5.00,5.00"]
           KCanvasItem {rect} at (10,135) size 40x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-5.00,5.00L5.00,5.00L5.00,10.00L-5.00,10.00"]
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 351x20
+            text run at (0,0) width 351: "Percentage width/height to user space conversion"
         KCanvasContainer {g} at (10,175) size 40x20 [transform={m=((4.00,0.00)(0.00,4.00)) t=(30.00,175.00)}]
           KCanvasItem {rect} at (10,175) size 40x20 [fill={[type=SOLID] [color=#000000]}] [data="M-5.00,0.00L5.00,0.00L5.00,5.00L-5.00,5.00"]
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 273x20
+            text run at (0,0) width 273: "CSS and percentage length conversion"
         KCanvasContainer {g} at (0.71,244.86) size 144.43x30.29 [transform={m=((4.00,0.00)(4.00,4.00)) t=(30.00,260.00)}]
           KCanvasItem {circle} at (1.71,245.86) size 56.58x28.29 [fill={[type=SOLID] [color=#000000]}] [data="M3.54,0.00L3.53,0.22L3.51,0.44L3.47,0.66L3.42,0.88L3.36,1.09L3.29,1.30L3.20,1.51L3.10,1.70L2.99,1.89L2.86,2.08L2.72,2.25L2.58,2.42L2.42,2.58L2.25,2.72L2.08,2.86L1.89,2.99L1.70,3.10L1.51,3.20L1.30,3.29L1.09,3.36L0.88,3.42L0.66,3.47L0.44,3.51L0.22,3.53L0.00,3.54L-0.22,3.53L-0.44,3.51L-0.66,3.47L-0.88,3.42L-1.09,3.36L-1.30,3.29L-1.51,3.20L-1.70,3.10L-1.89,2.99L-2.08,2.86L-2.25,2.72L-2.42,2.58L-2.58,2.42L-2.72,2.25L-2.86,2.08L-2.99,1.89L-3.10,1.70L-3.20,1.51L-3.29,1.30L-3.36,1.09L-3.42,0.88L-3.47,0.66L-3.51,0.44L-3.53,0.22L-3.54,0.00L-3.53,-0.22L-3.51,-0.44L-3.47,-0.66L-3.42,-0.88L-3.36,-1.09L-3.29,-1.30L-3.20,-1.51L-3.10,-1.70L-2.99,-1.89L-2.86,-2.08L-2.72,-2.25L-2.58,-2.42L-2.42,-2.58L-2.25,-2.72L-2.08,-2.86L-1.89,-2.99L-1.70,-3.10L-1.51,-3.20L-1.30,-3.29L-1.09,-3.36L-0.88,-3.42L-0.66,-3.47L-0.44,-3.51L-0.22,-3.53L-0.00,-3.54L0.22,-3.53L0.44,-3.51L0.66,-3.47L0.88,-3.42L1.09,-3.36L1.30,-3.29L1.51,-3.20L1.70,-3.10L1.89,-2.99L2.08,-2.86L2.25,-2.72L2.42,-2.58L2.58,-2.42L2.72,-2.25L2.86,-2.08L2.99,-1.89L3.10,-1.70L3.20,-1.51L3.29,-1.30L3.36,-1.09L3.42,-0.88L3.47,-0.66L3.51,-0.44L3.53,-0.22"]
           KCanvasItem {circle} at (41.71,245.86) size 56.58x28.29 [fill={[type=SOLID] [color=#FF0000]}] [data="M13.54,0.00L13.53,0.22L13.51,0.44L13.47,0.66L13.42,0.88L13.36,1.09L13.29,1.30L13.20,1.51L13.10,1.70L12.99,1.89L12.86,2.08L12.72,2.25L12.58,2.42L12.42,2.58L12.25,2.72L12.08,2.86L11.89,2.99L11.70,3.10L11.51,3.20L11.30,3.29L11.09,3.36L10.88,3.42L10.66,3.47L10.44,3.51L10.22,3.53L10.00,3.54L9.78,3.53L9.56,3.51L9.34,3.47L9.12,3.42L8.91,3.36L8.70,3.29L8.49,3.20L8.30,3.10L8.11,2.99L7.92,2.86L7.75,2.72L7.58,2.58L7.42,2.42L7.28,2.25L7.14,2.08L7.01,1.89L6.90,1.70L6.80,1.51L6.71,1.30L6.64,1.09L6.58,0.88L6.53,0.66L6.49,0.44L6.47,0.22L6.46,0.00L6.47,-0.22L6.49,-0.44L6.53,-0.66L6.58,-0.88L6.64,-1.09L6.71,-1.30L6.80,-1.51L6.90,-1.70L7.01,-1.89L7.14,-2.08L7.28,-2.25L7.42,-2.42L7.58,-2.58L7.75,-2.72L7.92,-2.86L8.11,-2.99L8.30,-3.10L8.49,-3.20L8.70,-3.29L8.91,-3.36L9.12,-3.42L9.34,-3.47L9.56,-3.51L9.78,-3.53L10.00,-3.54L10.22,-3.53L10.44,-3.51L10.66,-3.47L10.88,-3.42L11.09,-3.36L11.30,-3.29L11.51,-3.20L11.70,-3.10L11.89,-2.99L12.08,-2.86L12.25,-2.72L12.42,-2.58L12.58,-2.42L12.72,-2.25L12.86,-2.08L12.99,-1.89L13.10,-1.70L13.20,-1.51L13.29,-1.30L13.36,-1.09L13.42,-0.88L13.47,-0.66L13.51,-0.44L13.53,-0.22"]
           KCanvasItem {line} at (0.71,244.86) size 116.14x2 [stroke={[type=SOLID] [color=#CCCCCC] [stroke width=0.50]}] [data="M-3.54,-3.54L25.00,-3.54"]
           KCanvasItem {line} at (29,273.14) size 116.14x2 [stroke={[type=SOLID] [color=#CCCCCC] [stroke width=0.50]}] [data="M-3.54,3.54L25.00,3.54"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum
index 33de5e5..5b5655e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum
@@ -1 +1 @@
-065943830809ca5f1e806c101f946a8b
\ No newline at end of file
+9b84a20ea4d3eecfdb0122b78dfbde46
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.png
index b4f1706..c004fb5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt
index 03d2bda..bd8c448 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt
@@ -5,14 +5,80 @@
         KCanvasContainer {g} at (0,0) size 2000x2000
           KCanvasItem {rect} at (0,0) size 2000x2000 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L2000.00,0.00L2000.00,2000.00L0.00,2000.00"]
           KCanvasItem {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M0.00,0.00L480.00,0.00L480.00,360.00L0.00,360.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 181x14
+            text run at (0,0) width 181: "Initial viewport and CSS units test"
         KCanvasContainer {g} at (20,80) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 21x15
+              text run at (0,0) width 21: "200"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 161x15
+              text run at (0,0) width 161: "User space units (no specifier)"
           KCanvasItem {rect} at (20,80) size 200x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,20.00L220.00,20.00L220.00,21.00L20.00,21.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 38x15
+              text run at (0,0) width 38: "200 px"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 58x15
+              text run at (0,0) width 58: "Pixels (px)"
           KCanvasItem {rect} at (20,100) size 200x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,40.00L220.00,40.00L220.00,41.00L20.00,41.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 177x15
+              text run at (0,0) width 177: "20 em = 200 px (font-size=10px)"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 136x15
+              text run at (0,0) width 136: "Relative to font size (em)"
           KCanvasContainer {g} at (0,60) size 0x0
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 30x15
+              text run at (0,0) width 30: "40 ex"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 158x15
+              text run at (0,0) width 158: "Relative to font x-height (ex)"
           KCanvasContainer {g} at (0,60) size 0x0
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 93x15
+              text run at (0,0) width 93: "41.67% = 200 px"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 81x15
+              text run at (0,0) width 81: "Percentage (%)"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 21x15
+              text run at (0,0) width 21: "1 in"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 57x15
+              text run at (0,0) width 57: "Inches (in)"
           KCanvasItem {rect} at (20,180) size 90x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,120.00L110.00,120.00L110.00,121.00L20.00,121.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 77x15
+              text run at (0,0) width 77: "2.54 cm = 1 in"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 92x15
+              text run at (0,0) width 92: "Centimeters (cm)"
           KCanvasItem {rect} at (20,200) size 90x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,140.00L110.00,140.00L110.00,141.00L20.00,141.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 81x15
+              text run at (0,0) width 81: "25.4 mm = 1 in"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 94x15
+              text run at (0,0) width 94: "Millimeters (mm)"
           KCanvasItem {rect} at (20,220) size 90x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,160.00L110.00,160.00L110.00,161.00L20.00,161.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 59x15
+              text run at (0,0) width 59: "72pt = 1 in"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 56x15
+              text run at (0,0) width 56: "Points (pt)"
           KCanvasItem {rect} at (20,240) size 90x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,180.00L110.00,180.00L110.00,181.00L20.00,181.00"]
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 54x15
+              text run at (0,0) width 54: "6pc = 1 in"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 52x15
+              text run at (0,0) width 52: "Picas (pc)"
           KCanvasItem {rect} at (20,260) size 90x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,200.00L110.00,200.00L110.00,201.00L20.00,201.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum
index 290cc85..987ba71 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum
@@ -1 +1 @@
-f2428502e256b827ae402bb5c097b7ce
\ No newline at end of file
+65db29e2d0bfda4bf837a9d650c98691
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
index 1c07d18..38d53a0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
index 1ab252a..6d90122 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
@@ -3,36 +3,96 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,70) size 410x225 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
         KCanvasContainer {g} at (20,70) size 410x225
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 45x10
+              text run at (0,0) width 45: "Raster to fit"
           KCanvasContainer {g} at (20,70) size 40x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
             KCanvasItem {image} at (20,70) size 40x40 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L40.00,0.00L40.00,40.00L0.00,40.00"]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 42x10
+              text run at (0,0) width 42: "Viewport 1"
           KCanvasContainer {g} at (10,150) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 42x10
+              text run at (0,0) width 42: "Viewport 2"
           KCanvasContainer {g} at (20,220) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
           KCanvasContainer {g} at (120,80) size 120x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 112x10
+                text run at (0,0) width 112: "---------- meet --------------------"
             KCanvasContainer {g} at (120,80) size 50x30
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 26x10
+                  text run at (0,0) width 26: "xMin*"
               KCanvasItem {image} at (120,80) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
             KCanvasContainer {g} at (190,80) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 26x10
+                  text run at (0,0) width 26: "xMid*"
               KCanvasItem {image} at (190,80) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
             KCanvasContainer {g} at (120,130) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "xMax*"
               KCanvasItem {image} at (120,130) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasContainer {g} at (300,80) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 124x10
+                text run at (0,0) width 124: "---------- meet ------------------------"
             KCanvasContainer {g} at (300,80) size 30x60
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "*YMin"
               KCanvasItem {image} at (300,80) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
             KCanvasContainer {g} at (350,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "*YMid"
               KCanvasItem {image} at (350,80) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
             KCanvasContainer {g} at (400,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 28x10
+                  text run at (0,0) width 28: "*YMax"
               KCanvasItem {image} at (400,80) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
           KCanvasContainer {g} at (120,215) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 127x10
+                text run at (0,0) width 127: "---------- slice -------------------------"
             KCanvasContainer {g} at (120,215) size 30x60
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 26x10
+                  text run at (0,0) width 26: "xMin*"
               KCanvasItem {image} at (120,215) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
             KCanvasContainer {g} at (170,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 26x10
+                  text run at (0,0) width 26: "xMid*"
               KCanvasItem {image} at (170,215) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
             KCanvasContainer {g} at (220,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "xMax*"
               KCanvasItem {image} at (220,215) size 30x60 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L30.00,0.00L30.00,60.00L0.00,60.00"]
           KCanvasContainer {g} at (300,215) size 120x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 115x10
+                text run at (0,0) width 115: "---------- slice ---------------------"
             KCanvasContainer {g} at (300,215) size 50x30
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "*YMin"
               KCanvasItem {image} at (300,215) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
             KCanvasContainer {g} at (370,215) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 27x10
+                  text run at (0,0) width 27: "*YMid"
               KCanvasItem {image} at (370,215) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
             KCanvasContainer {g} at (300,265) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+              RenderSVGText {text} at (0,0) size 465x10
+                RenderText {TEXT} at (0,0) size 28x10
+                  text run at (0,0) width 28: "*YMax"
               KCanvasItem {image} at (300,265) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 100x100]}] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum
index 8a71cb4..75ecb3e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+070807d2faf4fd0602213f99ee4d0cd3
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png
index fd25073..11650e2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt
index 256620c..e4c6374 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt
@@ -3,5 +3,11 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 349x18
+              text run at (0,0) width 349: "Pie chart built from data in a different namespace."
         KCanvasContainer {g} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum
index b3f1e93..7a1a948 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum
@@ -1 +1 @@
-b8c953cae5edf19f88f5710a5aa27169
\ No newline at end of file
+b6fdcf0a95d57daf98ba48c8cc71b268
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png
index 25de721..a1311c0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt
index 4af5954..4cbb3c3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt
@@ -17,4 +17,28 @@
         KCanvasItem {rect} at (90,225) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=#BlendDarken] [data="M30.00,75.00L150.00,75.00L150.00,85.00L30.00,85.00"]
         KCanvasItem {rect} at (90,264) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=#BlendLighten] [data="M30.00,88.00L150.00,88.00L150.00,98.00L30.00,98.00"]
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 28x10
+              text run at (0,0) width 28: "Normal"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 35x10
+              text run at (0,0) width 35: "Multiply"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 35x10
+              text run at (0,0) width 35: "Multiply"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 35x10
+              text run at (0,0) width 35: "Multiply"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 25x10
+              text run at (0,0) width 25: "Screen"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 27x10
+              text run at (0,0) width 27: "Darken"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 30x10
+              text run at (0,0) width 30: "Lighten"
+      RenderSVGText {text} at (0,0) size 465x14
+        RenderText {TEXT} at (0,0) size 93x14
+          text run at (0,0) width 93: "$Revision$"
       KCanvasItem {rect} at (2.25,2.25) size 475.50x355.50 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [data="M1.00,1.00L159.00,1.00L159.00,119.00L1.00,119.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum
index 84548bd..e020abc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum
@@ -1 +1 @@
-1808ad3f7f9708161f3685e036bbae66
\ No newline at end of file
+21a4a88b424e69f7dd59ef4b89e5db91
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.png
index 4d30934..be10a72 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt
index 85b424c..a405882 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt
@@ -11,8 +11,29 @@
           KCanvasContainer {g} at (18.29,0.29) size 463.42x289.42
             KCanvasItem {rect} at (18.29,0.29) size 463.42x289.42 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00L799.00,1.00L799.00,499.00L1.00,499.00"]
             KCanvasItem {rect} at (29.60,11.60) size 440.80x23.20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [data="M20.00,20.00L780.00,20.00L780.00,60.00L20.00,60.00"]
+            RenderSVGText {text} at (0,0) size 465x48
+              RenderText {TEXT} at (0,0) size 196x48
+                text run at (0,0) width 196: "Unfiltered"
             KCanvasItem {rect} at (29.60,69.60) size 440.80x23.20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=#Matrix] [data="M20.00,120.00L780.00,120.00L780.00,160.00L20.00,160.00"]
+            RenderSVGText {text} at (0,0) size 465x96
+              RenderText {TEXT} at (0,0) size 372x96
+                text run at (0,0) width 289: "type=\"matrix\""
+                text run at (0,48) width 372: "(grayscale matrix)"
             KCanvasItem {rect} at (29.60,127.60) size 440.80x23.20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=#Saturate40] [data="M20.00,220.00L780.00,220.00L780.00,260.00L20.00,260.00"]
+            RenderSVGText {text} at (0,0) size 465x96
+              RenderText {TEXT} at (0,0) size 325x96
+                text run at (0,0) width 325: "type=\"saturate\""
+                text run at (0,48) width 238: "values=\".4\""
             KCanvasItem {rect} at (29.60,185.60) size 440.80x23.20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=#HueRotate90] [data="M20.00,320.00L780.00,320.00L780.00,360.00L20.00,360.00"]
+            RenderSVGText {text} at (0,0) size 465x96
+              RenderText {TEXT} at (0,0) size 364x96
+                text run at (0,0) width 364: "type=\"hueRotate\""
+                text run at (0,48) width 248: "values=\"90\""
             KCanvasItem {rect} at (29.60,243.60) size 440.80x23.20 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=#LuminanceToAlpha] [data="M20.00,420.00L780.00,420.00L780.00,460.00L20.00,460.00"]
+            RenderSVGText {text} at (0,0) size 465x48
+              RenderText {TEXT} at (0,0) size 524x48
+                text run at (0,0) width 524: "type=\"luminanceToAlpha\""
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum
index 2276dc9..c9d631a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum
@@ -1 +1 @@
-1e3b814cff48d52e463d243c7e0b8939
\ No newline at end of file
+93e0a691cf38466c56819abe305829d3
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png
index 730a740..7aae231 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt
index b745d62..1a5697c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt
@@ -16,28 +16,60 @@
       KCanvasContainer {g} at (20.20,10.20) size 439.60x289.60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-60.00)}]
         KCanvasContainer {g} at (11.20,46.20) size 439.60x289.60 [transform={m=((0.40,0.00)(0.00,0.40)) t=(5.00,70.00)}]
           KCanvasItem {rect} at (11.20,46.20) size 439.60x289.60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00L1099.00,1.00L1099.00,724.00L1.00,724.00"]
+          RenderSVGText {text} at (0,0) size 465x146
+            RenderText {TEXT} at (0,0) size 409x146
+              text run at (0,0) width 409: "on first Row :"
+              text run at (0,73) width 335: "opacity 1.0"
+          RenderSVGText {text} at (0,0) size 465x146
+            RenderText {TEXT} at (0,0) size 436x146
+              text run at (0,0) width 436: "on second row"
+              text run at (0,73) width 335: "opacity 0.5"
           KCanvasContainer {g} at (26,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,230.00)}]
             KCanvasItem {rect} at (26,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#over] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 134x73
+                text run at (0,0) width 134: "over"
           KCanvasContainer {g} at (26,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,430.00)}]
             KCanvasItem {rect} at (26,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#over50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
           KCanvasContainer {g} at (206,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,230.00)}]
             KCanvasItem {rect} at (206,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#in] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 54x73
+                text run at (0,0) width 54: "in"
           KCanvasContainer {g} at (206,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,430.00)}]
             KCanvasItem {rect} at (206,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#in50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
           KCanvasContainer {g} at (386,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,230.00)}]
             KCanvasItem {rect} at (386,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#out] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 98x73
+                text run at (0,0) width 98: "out"
           KCanvasContainer {g} at (386,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,430.00)}]
             KCanvasItem {rect} at (386,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#out50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
           KCanvasContainer {g} at (566,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,230.00)}]
             KCanvasItem {rect} at (566,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#atop] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 133x73
+                text run at (0,0) width 133: "atop"
           KCanvasContainer {g} at (566,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,430.00)}]
             KCanvasItem {rect} at (566,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#atop50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
           KCanvasContainer {g} at (746,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,230.00)}]
             KCanvasItem {rect} at (746,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#xor] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 98x73
+                text run at (0,0) width 98: "xor"
           KCanvasContainer {g} at (746,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,430.00)}]
             KCanvasItem {rect} at (746,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#xor50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
           KCanvasContainer {g} at (926,276) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,230.00)}]
             KCanvasItem {rect} at (926,276) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#arithmetic] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 167x73
+                text run at (0,0) width 167: "arith-"
+            RenderSVGText {text} at (0,0) size 465x73
+              RenderText {TEXT} at (0,0) size 165x73
+                text run at (0,0) width 165: "metic"
           KCanvasContainer {g} at (926,476) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,430.00)}]
             KCanvasItem {rect} at (926,476) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=#arithmetic50] [data="M0.00,0.00L150.00,0.00L150.00,150.00L0.00,150.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum
index 067dcb7..45eee46d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum
@@ -1 +1 @@
-d7b252d80e7f274e366dee6c664003c5
\ No newline at end of file
+753cd2cb8e73d6b3bae0e774b83f93d7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png
index f96fcad..8e31ff3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt
index 278d2f6..0dccb92 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt
@@ -12,7 +12,24 @@
           KCanvasContainer {g} at (0.36,0.36) size 449.29x299.29
             KCanvasItem {rect} at (0.36,0.36) size 449.29x299.29 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00L629.00,1.00L629.00,419.00L1.00,419.00"]
             KCanvasItem {rect} at (7.14,7.14) size 414.29x28.57 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=#Identity] [data="M10.00,10.00L590.00,10.00L590.00,50.00L10.00,50.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 206x36
+                text run at (0,0) width 206: "type: identity"
             KCanvasItem {rect} at (7.14,78.57) size 414.29x28.57 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=#Table] [data="M10.00,110.00L590.00,110.00L590.00,150.00L10.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 167x36
+                text run at (0,0) width 167: "type: table"
             KCanvasItem {rect} at (7.14,150) size 414.29x28.57 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=#Linear] [data="M10.00,210.00L590.00,210.00L590.00,250.00L10.00,250.00"]
+            RenderSVGText {text} at (0,0) size 465x72
+              RenderText {TEXT} at (0,0) size 299x72
+                text run at (0,0) width 299: "type:linear slope:.5"
+                text run at (0,36) width 291: "intercepts:.25/0/.5"
             KCanvasItem {rect} at (7.14,221.43) size 414.29x28.57 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=#Gamma] [data="M10.00,310.00L590.00,310.00L590.00,350.00L10.00,350.00"]
+            RenderSVGText {text} at (0,0) size 465x72
+              RenderText {TEXT} at (0,0) size 323x72
+                text run at (0,0) width 323: "type: gamma ampl:2"
+                text run at (0,36) width 256: "exponents:5/3/1"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum
index b7fc560..9c8f22d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum
@@ -1 +1 @@
-38230b7e2517fdcd2b634d14afe621f5
\ No newline at end of file
+ff9023b1f314313cecd5a9f955b8ed6e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png
index ff09ec4..8265906 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt
index 18be2b1..ce676d45 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt
@@ -10,16 +10,37 @@
       KCanvasContainer {g} at (30,70) size 350x156
         KCanvasContainer {g} at (30,70) size 350x156 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
           KCanvasContainer {g} at (30,70) size 350x156
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 66x18
+                text run at (0,0) width 66: "Blur (3x3)"
             KCanvasContainer {g} at (30,70) size 50x63
               KCanvasItem {image} at (30,70) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve1] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 136x18
+                text run at (0,0) width 136: "Edge Detection (3x3)"
             KCanvasContainer {g} at (180,70) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,0.00)}]
               KCanvasItem {image} at (180,70) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve2] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 110x18
+                text run at (0,0) width 110: "Sharpening (3x3)"
             KCanvasContainer {g} at (330,70) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}]
               KCanvasItem {image} at (330,70) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve3] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 108x18
+                text run at (0,0) width 108: "Embossing (3x3)"
             KCanvasContainer {g} at (30,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,93.00)}]
               KCanvasItem {image} at (30,163) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve4] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 134x18
+                text run at (0,0) width 134: "Horizontal blur (3x1)"
             KCanvasContainer {g} at (180,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,93.00)}]
               KCanvasItem {image} at (180,163) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve5] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 117x18
+                text run at (0,0) width 117: "Vertical blur (1x3)"
             KCanvasContainer {g} at (330,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,93.00)}]
               KCanvasItem {image} at (330,163) size 50x63 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x63]}] [filter=#convolve6] [data="M10.00,30.00L60.00,30.00L60.00,93.00L10.00,93.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum
index e18fa6f..b3f17da 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum
@@ -1 +1 @@
-1b95fa637dd6152b5de68285ad8e2f63
\ No newline at end of file
+f3eaa2bd98a7b7e954bdf0400542a8f0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png
index 06fb270..b82754f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt
index bfa5894..b5bbecd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt
@@ -11,16 +11,31 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (90,80) size 190x170
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 140x14
+            text run at (0,0) width 140: "Filters: feDiffuseLighting"
         KCanvasContainer {g} at (90,80) size 190x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 291x18
+              text run at (0,0) width 291: "Various values for surfaceScale: 1, 10 and -10"
           KCanvasItem {image} at (90,80) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#surfaceScaleA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
           KCanvasItem {image} at (160,80) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#surfaceScaleB] [data="M160.00,30.00L210.00,30.00L210.00,60.00L160.00,60.00"]
           KCanvasItem {image} at (230,80) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#surfaceScaleC] [data="M230.00,30.00L280.00,30.00L280.00,60.00L230.00,60.00"]
         KCanvasContainer {g} at (90,150) size 190x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 296x18
+              text run at (0,0) width 296: "Various values for diffuseConstants: 0, 1 and 2"
           KCanvasItem {image} at (90,150) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#diffuseConstantA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
           KCanvasItem {image} at (160,150) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#diffuseConstantB] [data="M160.00,30.00L210.00,30.00L210.00,60.00L160.00,60.00"]
           KCanvasItem {image} at (230,150) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#diffuseConstantC] [data="M230.00,30.00L280.00,30.00L280.00,60.00L230.00,60.00"]
         KCanvasContainer {g} at (90,220) size 190x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,190.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 341x18
+              text run at (0,0) width 341: "Various values for lighting color: red, yellow and blue"
           KCanvasItem {image} at (90,220) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#lightingColorA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
           KCanvasItem {image} at (160,220) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#lightingColorB] [data="M160.00,30.00L210.00,30.00L210.00,60.00L160.00,60.00"]
           KCanvasItem {image} at (230,220) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#lightingColorC] [data="M230.00,30.00L280.00,30.00L280.00,60.00L230.00,60.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum
index a673928..fdf2430 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum
@@ -1 +1 @@
-c3c85fa93950c4ae78b9bfff65aed563
\ No newline at end of file
+0c566251d5e8160b51f85b777ec07fe0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png
index 0de0444..840d281 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt
index 39bd8e33..a913d5e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt
@@ -10,13 +10,28 @@
         KCanvasContainer {g} at (15,15) size 414x313
           KCanvasItem {rect} at (15,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#DispMapChecker] [data="M15.00,15.00L143.00,15.00L143.00,143.00L15.00,143.00"]
           KCanvasItem {rect} at (20,115) size 118x20 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M20.00,115.00L138.00,115.00L138.00,135.00L20.00,135.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 115x14
+              text run at (0,0) width 115: "Checkerboard Image"
           KCanvasItem {rect} at (158,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#RotateMap] [data="M158.00,15.00L286.00,15.00L286.00,143.00L158.00,143.00"]
           KCanvasItem {rect} at (163,112) size 118x30 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M163.00,112.00L281.00,112.00L281.00,142.00L163.00,142.00"]
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (301,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#RotateMapTest] [data="M301.00,15.00L429.00,15.00L429.00,143.00L301.00,143.00"]
           KCanvasItem {rect} at (323.99,37.99) size 82.03x82.03 [transform={m=((30.07,10.94)(-10.94,30.07)) t=(365.00,79.00)}] [fill={[type=SOLID] [color=#0000FF] [opacity=0.50]}] [data="M-1.00,-1.00L1.00,-1.00L1.00,1.00L-1.00,1.00"]
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (15,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#DispMapChecker] [data="M15.00,158.00L143.00,158.00L143.00,286.00L15.00,286.00"]
           KCanvasItem {rect} at (20,258) size 118x20 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M20.00,258.00L138.00,258.00L138.00,278.00L20.00,278.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 115x14
+              text run at (0,0) width 115: "Checkerboard Image"
           KCanvasItem {rect} at (158,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#SphereMap] [data="M158.00,158.00L286.00,158.00L286.00,286.00L158.00,286.00"]
           KCanvasItem {rect} at (163,255) size 118x30 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M163.00,255.00L281.00,255.00L281.00,285.00L163.00,285.00"]
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (301,200) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=#SphereMapTest] [data="M301.00,200.00L429.00,200.00L429.00,328.00L301.00,328.00"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 35x14
+              text run at (0,0) width 35: "Result"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum
index 1ec392b..d8aa112 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum
@@ -1 +1 @@
-d53fd1df680edc33b147928cbedffd27
\ No newline at end of file
+1c36766f1c143ac2f2139fe658ac6f0b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
index 3cdff5c..04200a4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt
index 8d45689..3b3824b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt
@@ -10,4 +10,10 @@
               KCanvasItem {path} at (-10,37.50) size 320x105 [stroke={[type=SOLID] [color=#D90000] [stroke width=10.00]}] [data="M50.00,90.00C0.00,90.00,0.00,30.00,50.00,30.00L150.00,30.00C200.00,30.00,200.00,90.00,150.00,90.00"]
               KCanvasItem {path} at (45,60) size 210x60 [fill={[type=SOLID] [color=#D90000]}] [data="M60.00,80.00C30.00,80.00,30.00,40.00,60.00,40.00L140.00,40.00C170.00,40.00,170.00,80.00,140.00,80.00"]
               KCanvasContainer {g} at (0,0) size 0x0
+                RenderSVGText {text} at (0,0) size 465x54
+                  RenderText {TEXT} at (0,0) size 97x54
+                    text run at (0,0) width 97: "SVG"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum
index 167eb8c..dcd07d8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum
@@ -1 +1 @@
-db38d57bfd20a94d395090bd5250e2f9
\ No newline at end of file
+042945ce1f999a8b47fe992baf723597
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png
index ccb6d11..02e8639 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt
index 8fb74dc..a62bf24 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt
@@ -31,4 +31,7 @@
               KCanvasContainer {g} at (296.25,186.25) size 162.50x162.50
                 KCanvasItem {rect} at (309.75,199.75) size 135.50x135.50 [stroke={[type=SOLID] [color=#0000FF] [stroke width=0.50]}] [data="M0.00,0.00L135.00,0.00L135.00,135.00L0.00,135.00"]
                 KCanvasItem {rect} at (296.25,186.25) size 162.50x162.50 [stroke={[type=SOLID] [color=#0000FF] [stroke width=0.50]}] [data="M-13.50,-13.50L148.50,-13.50L148.50,148.50L-13.50,148.50"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum
index f121a66..3f81204 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum
@@ -1 +1 @@
-8447f648da2d05c8885c00fb91129119
\ No newline at end of file
+ef8c1d12c4aa9ac899ee2ee9118e063d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.png
index d376974..9896229 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt
index 5206b1e..35df8c0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt
@@ -3,5 +3,11 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0,0) size 480x360
       KCanvasContainer {g} at (0,0) size 480x360
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 185x14
+            text run at (0,0) width 185: "Basic test of feImage filter support."
         KCanvasItem {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#000000]}] [filter=#image] [data="M0.00,0.00L480.00,0.00L480.00,360.00L0.00,360.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum
index 9e42c881..3597877 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum
@@ -1 +1 @@
-788de5169d223fb445c18a9699300e72
\ No newline at end of file
+2505a39925cb352f26f92c9848e9793f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.png
index ce6ade3..2e690e3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt
index 484e6b0..8e1ddbe 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt
@@ -14,21 +14,79 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (70,70) size 335x205
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 253x14
+            text run at (0,0) width 253: "Filters: feDistantLight, fePointLight, feSpotLight"
         KCanvasContainer {g} at (70,70) size 335x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
-          KCanvasItem {image} at (70,70) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#distantLightA] [data="M70.00,30.00L120.00,30.00L120.00,60.00L70.00,60.00"]
-          KCanvasItem {image} at (165,70) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#distantLightB] [data="M165.00,30.00L215.00,30.00L215.00,60.00L165.00,60.00"]
-          KCanvasItem {image} at (260,70) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#distantLightC] [data="M260.00,30.00L310.00,30.00L310.00,60.00L260.00,60.00"]
-          KCanvasItem {image} at (355,70) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#distantLightD] [data="M355.00,30.00L405.00,30.00L405.00,60.00L355.00,60.00"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 353x18
+              text run at (0,0) width 353: "Various values for feDistantLight azimuth and elevation"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 34x18
+              text run at (0,0) width 34: "(0, 0)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 42x18
+              text run at (0,0) width 42: "(45, 0)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 42x18
+              text run at (0,0) width 42: "(0, 45)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 50x18
+              text run at (0,0) width 50: "(45, 45)"
+          KCanvasItem {image} at (70,70) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#distantLightA] [data="M70.00,30.00L120.00,30.00L120.00,60.00L70.00,60.00"]
+          KCanvasItem {image} at (165,70) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#distantLightB] [data="M165.00,30.00L215.00,30.00L215.00,60.00L165.00,60.00"]
+          KCanvasItem {image} at (260,70) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#distantLightC] [data="M260.00,30.00L310.00,30.00L310.00,60.00L260.00,60.00"]
+          KCanvasItem {image} at (355,70) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#distantLightD] [data="M355.00,30.00L405.00,30.00L405.00,60.00L355.00,60.00"]
         KCanvasContainer {g} at (0,120) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 274x18
+              text run at (0,0) width 274: "Various values for fePointLight's x, y and z"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 58x18
+              text run at (0,0) width 58: "(0, 0, 10)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 66x18
+              text run at (0,0) width 66: "(50, 0, 10)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 66x18
+              text run at (0,0) width 66: "(0, 30, 10)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 74x18
+              text run at (0,0) width 74: "(50, 30, 10)"
         KCanvasContainer {g} at (70,150) size 335x30
-          KCanvasItem {image} at (70,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,150.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#pointLightA] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+          KCanvasItem {image} at (70,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,150.00)}] [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#pointLightA] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {image} at (165,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,150.00)}] [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#pointLightB] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
-          KCanvasItem {image} at (260,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,150.00)}] [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#pointLightC] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
-          KCanvasItem {image} at (355,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,150.00)}] [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#pointLightD] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+          KCanvasItem {image} at (260,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,150.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#pointLightC] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+          KCanvasItem {image} at (355,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,150.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#pointLightD] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
         KCanvasContainer {g} at (0,210) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,210.00)}]
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 399x36
+              text run at (0,0) width 399: "Various values for feSpotLight's x, y, z, pointsAtX, pointsAtY,"
+              text run at (0,18) width 64: "pointsAtZ"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 66x18
+              text run at (0,0) width 66: "(25, 0, 25)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 66x18
+              text run at (0,0) width 66: "(25, 30, 0)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 74x18
+              text run at (0,0) width 74: "(25, 30, 25)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 58x18
+              text run at (0,0) width 58: "(25, 0, 0)"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 33x18
+              text run at (0,0) width 33: "np=1"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 146x18
+              text run at (0,0) width 146: "limitingConeAngle=30"
         KCanvasContainer {g} at (70,245) size 335x30
           KCanvasItem {rect} at (70,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#spotLightA] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {rect} at (165,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#spotLightB] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {rect} at (260,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#spotLightC] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
           KCanvasItem {rect} at (355,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=#spotLightD] [data="M0.00,0.00L50.00,0.00L50.00,30.00L0.00,30.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum
index 825250e..e6bfc2f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum
@@ -1 +1 @@
-d1d1cc6a74b2c456e683f1a3bbdf5295
\ No newline at end of file
+4387ba1c640d4c43d3c61485a3074e12
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png
index b6a7ee6..a20183c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt
index b87fb7e..bd8e8ed 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt
@@ -6,6 +6,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (35.00,19.00) size 403.93x263.29
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 174x18
+            text run at (0,0) width 174: "Filter Effect: feMorphology"
         KCanvasContainer {g} at (35.00,19.00) size 403.93x263.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-6.00)}]
           KCanvasContainer {g} at (35.00,19.00) size 403.93x263.29
             KCanvasContainer {g} at (35.00,19.00) size 148.93x123.29
@@ -18,6 +21,9 @@
                         KCanvasItem {path} at (41.67,50.79) size 90.18x91.50 [stroke={[type=SOLID] [color=#00FF00] [stroke width=7.17]}] [data="M93.26,77.54C93.26,100.82,74.68,119.70,51.76,119.70C28.84,119.70,10.26,100.82,10.26,77.54C10.26,54.25,28.84,35.37,51.76,35.37C74.68,35.37,93.26,54.25,93.26,77.54"]
                         KCanvasItem {path} at (82.69,39.24) size 101.25x97.90 [stroke={[type=SOLID] [color=#FF0000] [stroke width=7.17]}] [data="M98.31,28.44L111.60,55.80L141.31,60.18L119.81,81.48L124.89,111.54L98.31,97.35L71.73,111.54L76.81,81.48L55.31,60.18L85.02,55.80L98.31,28.44"]
                         KCanvasItem {path} at (71.36,19.00) size 98.79x81.63 [stroke={[type=SOLID] [color=#FFFF00] [stroke width=7.17]}] [data="M131.56,26.34C131.56,54.90,108.77,78.05,80.66,78.05C58.17,78.05,39.94,59.53,39.94,36.68C39.94,18.40,54.53,3.59,72.52,3.59C86.91,3.59,98.58,15.44,98.58,30.06C98.58,41.76,89.25,51.24,77.73,51.24C68.52,51.24,61.05,43.65,61.05,34.30C61.05,26.81,67.03,20.74,74.39,20.74C80.29,20.74,85.07,25.60,85.07,31.59C85.07,36.38,81.25,40.26,76.53,40.26C72.75,40.26,69.70,37.15,69.70,33.32"]
+              RenderSVGText {text} at (0,0) size 465x18
+                RenderText {TEXT} at (0,0) size 130x18
+                  text run at (0,0) width 130: "type=erode radius=1"
             KCanvasContainer {g} at (290.00,19.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(255.00,0.00)}]
               KCanvasContainer {use} at (290.00,19.00) size 148.93x123.29 [filter=#erode2]
                 KCanvasContainer {g} at (290.00,19.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
@@ -28,6 +34,9 @@
                         KCanvasItem {path} at (296.67,50.79) size 90.18x91.50 [stroke={[type=SOLID] [color=#00FF00] [stroke width=7.17]}] [data="M93.26,77.54C93.26,100.82,74.68,119.70,51.76,119.70C28.84,119.70,10.26,100.82,10.26,77.54C10.26,54.25,28.84,35.37,51.76,35.37C74.68,35.37,93.26,54.25,93.26,77.54"]
                         KCanvasItem {path} at (337.69,39.24) size 101.25x97.90 [stroke={[type=SOLID] [color=#FF0000] [stroke width=7.17]}] [data="M98.31,28.44L111.60,55.80L141.31,60.18L119.81,81.48L124.89,111.54L98.31,97.35L71.73,111.54L76.81,81.48L55.31,60.18L85.02,55.80L98.31,28.44"]
                         KCanvasItem {path} at (326.36,19.00) size 98.79x81.63 [stroke={[type=SOLID] [color=#FFFF00] [stroke width=7.17]}] [data="M131.56,26.34C131.56,54.90,108.77,78.05,80.66,78.05C58.17,78.05,39.94,59.53,39.94,36.68C39.94,18.40,54.53,3.59,72.52,3.59C86.91,3.59,98.58,15.44,98.58,30.06C98.58,41.76,89.25,51.24,77.73,51.24C68.52,51.24,61.05,43.65,61.05,34.30C61.05,26.81,67.03,20.74,74.39,20.74C80.29,20.74,85.07,25.60,85.07,31.59C85.07,36.38,81.25,40.26,76.53,40.26C72.75,40.26,69.70,37.15,69.70,33.32"]
+              RenderSVGText {text} at (0,0) size 465x18
+                RenderText {TEXT} at (0,0) size 130x18
+                  text run at (0,0) width 130: "type=erode radius=2"
             KCanvasContainer {g} at (35.00,159.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,140.00)}]
               KCanvasContainer {use} at (35.00,159.00) size 148.93x123.29 [filter=#dilate1]
                 KCanvasContainer {g} at (35.00,159.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
@@ -38,6 +47,9 @@
                         KCanvasItem {path} at (41.67,190.79) size 90.18x91.50 [stroke={[type=SOLID] [color=#00FF00] [stroke width=7.17]}] [data="M93.26,77.54C93.26,100.82,74.68,119.70,51.76,119.70C28.84,119.70,10.26,100.82,10.26,77.54C10.26,54.25,28.84,35.37,51.76,35.37C74.68,35.37,93.26,54.25,93.26,77.54"]
                         KCanvasItem {path} at (82.69,179.24) size 101.25x97.90 [stroke={[type=SOLID] [color=#FF0000] [stroke width=7.17]}] [data="M98.31,28.44L111.60,55.80L141.31,60.18L119.81,81.48L124.89,111.54L98.31,97.35L71.73,111.54L76.81,81.48L55.31,60.18L85.02,55.80L98.31,28.44"]
                         KCanvasItem {path} at (71.36,159.00) size 98.79x81.63 [stroke={[type=SOLID] [color=#FFFF00] [stroke width=7.17]}] [data="M131.56,26.34C131.56,54.90,108.77,78.05,80.66,78.05C58.17,78.05,39.94,59.53,39.94,36.68C39.94,18.40,54.53,3.59,72.52,3.59C86.91,3.59,98.58,15.44,98.58,30.06C98.58,41.76,89.25,51.24,77.73,51.24C68.52,51.24,61.05,43.65,61.05,34.30C61.05,26.81,67.03,20.74,74.39,20.74C80.29,20.74,85.07,25.60,85.07,31.59C85.07,36.38,81.25,40.26,76.53,40.26C72.75,40.26,69.70,37.15,69.70,33.32"]
+              RenderSVGText {text} at (0,0) size 465x18
+                RenderText {TEXT} at (0,0) size 129x18
+                  text run at (0,0) width 129: "type=dilate radius=1"
             KCanvasContainer {g} at (290.00,159.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(255.00,140.00)}]
               KCanvasContainer {use} at (290.00,159.00) size 148.93x123.29 [filter=#dilate2]
                 KCanvasContainer {g} at (290.00,159.00) size 148.93x123.29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
@@ -48,4 +60,10 @@
                         KCanvasItem {path} at (296.67,190.79) size 90.18x91.50 [stroke={[type=SOLID] [color=#00FF00] [stroke width=7.17]}] [data="M93.26,77.54C93.26,100.82,74.68,119.70,51.76,119.70C28.84,119.70,10.26,100.82,10.26,77.54C10.26,54.25,28.84,35.37,51.76,35.37C74.68,35.37,93.26,54.25,93.26,77.54"]
                         KCanvasItem {path} at (337.69,179.24) size 101.25x97.90 [stroke={[type=SOLID] [color=#FF0000] [stroke width=7.17]}] [data="M98.31,28.44L111.60,55.80L141.31,60.18L119.81,81.48L124.89,111.54L98.31,97.35L71.73,111.54L76.81,81.48L55.31,60.18L85.02,55.80L98.31,28.44"]
                         KCanvasItem {path} at (326.36,159.00) size 98.79x81.63 [stroke={[type=SOLID] [color=#FFFF00] [stroke width=7.17]}] [data="M131.56,26.34C131.56,54.90,108.77,78.05,80.66,78.05C58.17,78.05,39.94,59.53,39.94,36.68C39.94,18.40,54.53,3.59,72.52,3.59C86.91,3.59,98.58,15.44,98.58,30.06C98.58,41.76,89.25,51.24,77.73,51.24C68.52,51.24,61.05,43.65,61.05,34.30C61.05,26.81,67.03,20.74,74.39,20.74C80.29,20.74,85.07,25.60,85.07,31.59C85.07,36.38,81.25,40.26,76.53,40.26C72.75,40.26,69.70,37.15,69.70,33.32"]
+              RenderSVGText {text} at (0,0) size 465x18
+                RenderText {TEXT} at (0,0) size 129x18
+                  text run at (0,0) width 129: "type=dilate radius=3"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum
index c3f6f5b..9594dfd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum
@@ -1 +1 @@
-c27409fd3823b046969295b85bd69607
\ No newline at end of file
+a3e1754f2898d2db44d9c845647ef610
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png
index 320a4104..a27848e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt
index 22594a6..096216f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt
@@ -8,4 +8,7 @@
         KCanvasItem {path} at (149,109) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(160.00,120.00)}] [fill={[type=SOLID] [color=#408000] [opacity=0.80]}] [data="M-1.00,-11.00L1.00,-11.00L1.00,-1.00L11.00,-1.00L11.00,1.00L1.00,1.00L1.00,11.00L-1.00,11.00L-1.00,1.00L-11.00,1.00L-11.00,-1.00L-1.00,-1.00L-1.00,-11.00"]
         KCanvasItem {path} at (189,139) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,150.00)}] [fill={[type=SOLID] [color=#408000] [opacity=0.60]}] [data="M-1.00,-11.00L1.00,-11.00L1.00,-1.00L11.00,-1.00L11.00,1.00L1.00,1.00L1.00,11.00L-1.00,11.00L-1.00,1.00L-11.00,1.00L-11.00,-1.00L-1.00,-1.00L-1.00,-11.00"]
         KCanvasItem {path} at (229,169) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,180.00)}] [fill={[type=SOLID] [color=#408000] [opacity=0.40]}] [data="M-1.00,-11.00L1.00,-11.00L1.00,-1.00L11.00,-1.00L11.00,1.00L1.00,1.00L1.00,11.00L-1.00,11.00L-1.00,1.00L-11.00,1.00L-11.00,-1.00L-1.00,-1.00L-1.00,-11.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum
index f7a025c..123e215 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum
@@ -1 +1 @@
-cf9a4a45f2617bb657eee3e3ca23e656
\ No newline at end of file
+3fc6668cc5a981e68a7fb4307aa40e0a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png
index f2fff33..1627e6b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt
index a11d73a..a0390e1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt
@@ -14,7 +14,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (90,50) size 280x240
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 142x14
+            text run at (0,0) width 142: "Filters: feSpecularLighting"
         KCanvasContainer {g} at (90,50) size 280x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,20.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 291x18
+              text run at (0,0) width 291: "Various values for surfaceScale: 1, 10 and -10"
           KCanvasContainer {g} at (90,50) size 280x30
             KCanvasItem {rect} at (90,50) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
             KCanvasItem {rect} at (205,50) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
@@ -23,14 +29,20 @@
           KCanvasItem {image} at (205,50) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#surfaceScaleB] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
           KCanvasItem {image} at (320,50) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#surfaceScaleC] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
         KCanvasContainer {g} at (90,120) size 280x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,90.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 305x18
+              text run at (0,0) width 305: "Various values for specularConstants: 0, 1 and 2"
           KCanvasContainer {g} at (90,120) size 280x30
             KCanvasItem {rect} at (90,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
             KCanvasItem {rect} at (205,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
             KCanvasItem {rect} at (320,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
-          KCanvasItem {image} at (90,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#specularConstantA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
+          KCanvasItem {image} at (90,120) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#specularConstantA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
           KCanvasItem {image} at (205,120) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#specularConstantB] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
           KCanvasItem {image} at (320,120) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#specularConstantC] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
         KCanvasContainer {g} at (90,190) size 280x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 310x18
+              text run at (0,0) width 310: "Various values for specularExponents: 1, 2 and 4"
           KCanvasContainer {g} at (90,190) size 280x30
             KCanvasItem {rect} at (90,190) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
             KCanvasItem {rect} at (205,190) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
@@ -39,11 +51,17 @@
           KCanvasItem {image} at (205,190) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#specularExponentB] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
           KCanvasItem {image} at (320,190) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#specularExponentC] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
         KCanvasContainer {g} at (90,260) size 280x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,230.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 341x18
+              text run at (0,0) width 341: "Various values for lighting color: red, yellow and blue"
           KCanvasContainer {g} at (90,260) size 280x30
             KCanvasItem {rect} at (90,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
             KCanvasItem {rect} at (205,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
             KCanvasItem {rect} at (320,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
           KCanvasItem {image} at (90,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#lightingColorA] [data="M90.00,30.00L140.00,30.00L140.00,60.00L90.00,60.00"]
-          KCanvasItem {image} at (205,260) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#lightingColorB] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
-          KCanvasItem {image} at (320,260) size 50x30 [fill={[type=IMAGE] [bounding box=at (0,0) size 50x30]}] [filter=#lightingColorC] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
+          KCanvasItem {image} at (205,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#lightingColorB] [data="M205.00,30.00L255.00,30.00L255.00,60.00L205.00,60.00"]
+          KCanvasItem {image} at (320,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [filter=#lightingColorC] [data="M320.00,30.00L370.00,30.00L370.00,60.00L320.00,60.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum
index c95f452..3aadc12 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum
@@ -1 +1 @@
-38ecae24a57ee99776eaad1b63bf3f23
\ No newline at end of file
+75392d6b34eb8cb9ec4739261a5fcddf
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png
index c1cdeb5..3d63985 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt
index c113e54..516c9bc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt
@@ -3,7 +3,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (114,39) size 252x252
+        RenderSVGText {text} at (0,0) size 465x17
+          RenderText {TEXT} at (0,0) size 189x17
+            text run at (0,0) width 189: "feTile filter test: a tiled pattern"
         KCanvasContainer {g} at (0,0) size 0x0 [filter=#feTileFilter]
         KCanvasItem {rect} at (114,39) size 252x252 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M115.00,40.00L365.00,40.00L365.00,290.00L115.00,290.00"]
         KCanvasItem {rect} at (214.50,114.50) size 51x26 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF] [opacity=0.50]}] [data="M215.00,115.00L265.00,115.00L265.00,140.00L215.00,140.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum
index 9a0e082..4f6924d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum
@@ -1 +1 @@
-d4bdd73a291195b7d437248ff1c612a1
\ No newline at end of file
+9656835029f39032a9fab3c46b897bfb
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png
index 35f58ba..8205b4e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt
index 22ace62..bb6a9c2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt
@@ -10,9 +10,66 @@
       KCanvasContainer {g} at (25,25) size 400x230
         KCanvasContainer {g} at (25,25) size 400x230
           KCanvasItem {rect} at (25,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb1] [data="M25.00,25.00L125.00,25.00L125.00,100.00L25.00,100.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 82x12
+              text run at (0,0) width 82: "type=turbulence"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 104x12
+              text run at (0,0) width 104: "baseFrequency=0.05"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=2"
           KCanvasItem {rect} at (175,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb2] [data="M175.00,25.00L275.00,25.00L275.00,100.00L175.00,100.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 82x12
+              text run at (0,0) width 82: "type=turbulence"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 98x12
+              text run at (0,0) width 98: "baseFrequency=0.1"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=2"
           KCanvasItem {rect} at (325,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb3] [data="M325.00,25.00L425.00,25.00L425.00,100.00L325.00,100.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 82x12
+              text run at (0,0) width 82: "type=turbulence"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 104x12
+              text run at (0,0) width 104: "baseFrequency=0.05"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=8"
           KCanvasItem {rect} at (25,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb4] [data="M25.00,180.00L125.00,180.00L125.00,255.00L25.00,255.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 89x12
+              text run at (0,0) width 89: "type=fractalNoise"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 98x12
+              text run at (0,0) width 98: "baseFrequency=0.1"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=4"
           KCanvasItem {rect} at (175,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb5] [data="M175.00,180.00L275.00,180.00L275.00,255.00L175.00,255.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 89x12
+              text run at (0,0) width 89: "type=fractalNoise"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 98x12
+              text run at (0,0) width 98: "baseFrequency=0.4"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=4"
           KCanvasItem {rect} at (325,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=#Turb6] [data="M325.00,180.00L425.00,180.00L425.00,255.00L325.00,255.00"]
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 89x12
+              text run at (0,0) width 89: "type=fractalNoise"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 98x12
+              text run at (0,0) width 98: "baseFrequency=0.1"
+          RenderSVGText {text} at (0,0) size 465x12
+            RenderText {TEXT} at (0,0) size 76x12
+              text run at (0,0) width 76: "numOctaves=1"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum
index 0f8c4c9..f64f039 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum
@@ -1 +1 @@
-4778d907fc08436b580c2bace7152682
\ No newline at end of file
+53ceaf91e978832e9992fc719847c872
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png
index 5843786..bb9f3173 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
index 6c5f720..a5984f8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
@@ -2,7 +2,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+        RenderSVGText {text} at (0,0) size 465x40
+          RenderText {TEXT} at (0,0) size 346x40
+            text run at (0,0) width 346: "Basic SVG font element"
         KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+          RenderSVGText {text} at (0,0) size 465x22
+            RenderText {TEXT} at (0,0) size 105x22
+              text run at (0,0) width 105: "Placed Glyphs"
           KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,140.00)}]
             KCanvasItem {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
             KCanvasContainer {g} at (4.10,-54.49) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
@@ -17,6 +23,15 @@
               KCanvasItem {line} at (182.99,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M6106.00,-3500.00L6106.00,2000.00"]
               KCanvasItem {path} at (6113.91,-27.04) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"]
               KCanvasItem {line} at (213.81,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M7158.00,-3500.00L7158.00,2000.00"]
+        RenderSVGText {text} at (0,0) size 465x22
+          RenderText {TEXT} at (0,0) size 74x22
+            text run at (0,0) width 74: "SVG Font"
         KCanvasContainer {g} at (165,219.50) size 210x1 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]
           KCanvasItem {line} at (165,219.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 208x69
+              text run at (0,0) width 208: "Ay\x{D6}@\x{E7}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum
index fd284a3..33d8010 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum
@@ -1 +1 @@
-eb159630f1778a9a33ed8132001d7934
\ No newline at end of file
+541039e9b50ea8cbd95eae42b15368a9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png
index c9d2428..532f75a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
index 184237f..bbe9637 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
@@ -2,7 +2,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (165,80) size 220x165
+        RenderSVGText {text} at (0,0) size 465x40
+          RenderText {TEXT} at (0,0) size 395x40
+            text run at (0,0) width 395: "SVG font element accuracy"
         KCanvasItem {rect} at (165,80) size 220x165 [fill={[type=SOLID] [color=#000000]}] [data="M165.00,80.00L385.00,80.00L385.00,245.00L165.00,245.00"]
+        RenderSVGText {text} at (0,0) size 465x22
+          RenderText {TEXT} at (0,0) size 130x22
+            text run at (0,0) width 130: "SVG over Glyphs"
         KCanvasContainer {g} at (168.84,85.62) size 203.44x71.34 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,140.00)}]
           KCanvasContainer {g} at (8.67,-50.27) size 203.44x71.34 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
             KCanvasItem {path} at (8.67,-39.20) size 35.77x44.18 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M1250.00,-30.00C1188.67,-30.00,1135.33,48.67,1090.00,206.00C1072.67,266.00,1051.00,371.00,1025.00,521.00C957.00,511.67,868.00,495.00,758.00,471.00L492.00,416.00C458.67,328.67,401.67,201.00,321.00,33.00C299.67,-4.33,270.67,-23.00,234.00,-23.00C207.33,-23.00,183.67,-13.33,163.00,6.00C142.33,25.33,131.67,49.33,131.00,78.00C131.00,110.00,181.33,231.67,282.00,443.00C270.67,460.33,265.00,480.33,265.00,503.00C265.00,557.00,297.67,591.67,363.00,607.00C439.00,749.67,535.00,913.67,651.00,1099.00C809.00,1351.67,907.33,1478.00,946.00,1478.00C998.67,1478.00,1034.67,1441.33,1054.00,1368.00L1117.00,1032.00L1266.00,337.00L1323.00,179.00C1342.33,125.00,1352.00,89.00,1352.00,71.00C1352.00,42.33,1341.67,18.33,1321.00,-1.00C1300.33,-20.33,1276.67,-30.00,1250.00,-30.00M897.00,1113.00L611.00,652.00C691.67,672.67,814.00,697.67,978.00,727.00L897.00,1113.00"]
@@ -11,7 +17,16 @@
             KCanvasItem {path} at (4207.06,-43.65) size 48.13x51.86 [transform={m=((1.00,0.00)(0.00,1.00)) t=(4199.00,0.00)}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M1306.00,412.00C1235.33,412.00,1174.33,422.33,1123.00,443.00C1071.67,463.67,1030.33,494.33,999.00,535.00C963.00,499.67,928.00,473.00,894.00,455.00C860.00,437.00,826.33,428.00,793.00,428.00C719.00,428.00,649.33,458.00,584.00,518.00C518.67,578.00,485.67,644.33,485.00,717.00C485.00,840.33,533.33,953.00,630.00,1055.00C726.67,1157.00,837.00,1208.00,961.00,1208.00C989.00,1208.00,1012.33,1197.67,1031.00,1177.00C1049.67,1156.33,1059.00,1131.33,1059.00,1102.00C1059.00,1062.00,1025.67,1032.33,959.00,1013.00C870.33,987.67,807.67,958.67,771.00,926.00C717.00,878.67,690.00,809.00,690.00,717.00C690.00,697.67,699.00,679.00,717.00,661.00C737.67,641.00,763.33,631.67,794.00,633.00C852.00,635.67,905.67,689.67,955.00,795.00C999.67,887.00,1039.33,933.00,1074.00,933.00C1102.00,933.00,1124.67,922.67,1142.00,902.00C1159.33,881.33,1168.00,856.00,1168.00,826.00C1168.00,812.67,1166.00,792.67,1162.00,766.00C1158.00,739.33,1155.67,719.33,1155.00,706.00C1155.00,662.67,1173.67,635.33,1211.00,624.00C1225.67,619.33,1257.33,617.00,1306.00,617.00C1397.33,617.00,1461.33,639.33,1498.00,684.00C1531.33,724.00,1548.00,790.33,1548.00,883.00C1548.00,1046.33,1482.33,1179.67,1351.00,1283.00C1231.00,1377.67,1087.67,1425.00,921.00,1425.00C727.00,1425.00,575.00,1351.67,465.00,1205.00C365.67,1074.33,316.00,910.00,316.00,712.00C316.00,529.33,374.33,375.33,491.00,250.00C612.33,119.33,768.33,54.00,959.00,54.00C1013.00,54.00,1074.00,64.33,1142.00,85.00L1317.00,150.00C1346.33,160.67,1365.33,166.00,1374.00,166.00C1401.33,166.00,1425.00,155.33,1445.00,134.00C1465.00,112.67,1475.00,87.33,1475.00,58.00C1475.00,-5.33,1404.00,-56.67,1262.00,-96.00C1154.67,-125.33,1054.33,-140.00,961.00,-140.00C867.00,-140.00,771.00,-122.00,673.00,-86.00C575.00,-50.00,490.67,-1.33,420.00,60.00C213.33,238.67,110.00,456.00,110.00,712.00C110.00,968.00,180.67,1182.00,322.00,1354.00C472.00,1538.00,671.67,1630.00,921.00,1630.00C1146.33,1630.00,1339.33,1562.33,1500.00,1427.00C1668.67,1283.67,1753.00,1102.33,1753.00,883.00C1753.00,733.00,1716.33,617.67,1643.00,537.00C1566.33,453.67,1454.00,412.00,1306.00,412.00"]
             KCanvasItem {path} at (6113.91,-27.04) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"]
         KCanvasContainer {g} at (165,140) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,140.00)}]
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 208x69
+              text run at (0,0) width 208: "Ay\x{D6}@\x{E7}"
+        RenderSVGText {text} at (0,0) size 465x22
+          RenderText {TEXT} at (0,0) size 130x22
+            text run at (0,0) width 130: "Glyphs over SVG"
         KCanvasContainer {g} at (165,210) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,210.00)}]
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 208x69
+              text run at (0,0) width 208: "Ay\x{D6}@\x{E7}"
         KCanvasContainer {g} at (168.84,155.62) size 203.44x71.34 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,210.00)}]
           KCanvasContainer {g} at (8.67,-48.22) size 203.44x71.34 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
             KCanvasItem {path} at (8.67,-37.15) size 35.77x44.18 [fill={[type=SOLID] [color=#000000]}] [data="M1250.00,-30.00C1188.67,-30.00,1135.33,48.67,1090.00,206.00C1072.67,266.00,1051.00,371.00,1025.00,521.00C957.00,511.67,868.00,495.00,758.00,471.00L492.00,416.00C458.67,328.67,401.67,201.00,321.00,33.00C299.67,-4.33,270.67,-23.00,234.00,-23.00C207.33,-23.00,183.67,-13.33,163.00,6.00C142.33,25.33,131.67,49.33,131.00,78.00C131.00,110.00,181.33,231.67,282.00,443.00C270.67,460.33,265.00,480.33,265.00,503.00C265.00,557.00,297.67,591.67,363.00,607.00C439.00,749.67,535.00,913.67,651.00,1099.00C809.00,1351.67,907.33,1478.00,946.00,1478.00C998.67,1478.00,1034.67,1441.33,1054.00,1368.00L1117.00,1032.00L1266.00,337.00L1323.00,179.00C1342.33,125.00,1352.00,89.00,1352.00,71.00C1352.00,42.33,1341.67,18.33,1321.00,-1.00C1300.33,-20.33,1276.67,-30.00,1250.00,-30.00M897.00,1113.00L611.00,652.00C691.67,672.67,814.00,697.67,978.00,727.00L897.00,1113.00"]
@@ -19,4 +34,7 @@
             KCanvasItem {path} at (2572.23,-48.22) size 41.95x56.16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(2564.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M802.00,-61.00C614.00,-61.00,454.67,-4.67,324.00,108.00C185.33,228.00,116.00,382.67,116.00,572.00C116.00,802.67,184.33,1012.33,321.00,1201.00C473.67,1410.33,664.00,1515.00,892.00,1515.00C1111.33,1515.00,1274.33,1465.67,1381.00,1367.00C1492.33,1264.33,1548.00,1102.33,1548.00,881.00C1548.00,650.33,1485.33,442.33,1360.00,257.00C1216.00,45.00,1030.00,-61.00,802.00,-61.00M892.00,1310.00C728.67,1310.00,590.33,1228.67,477.00,1066.00C372.33,916.67,320.00,752.00,320.00,572.00C320.00,443.33,367.67,338.67,463.00,258.00C554.33,182.00,667.33,144.00,802.00,144.00C964.00,144.00,1097.67,225.67,1203.00,389.00C1297.00,535.00,1344.00,699.00,1344.00,881.00C1344.00,1040.33,1308.33,1152.33,1237.00,1217.00C1169.00,1279.00,1054.00,1310.00,892.00,1310.00M682.00,1848.00C769.33,1848.00,813.00,1813.00,813.00,1743.00C813.00,1723.00,798.33,1703.67,769.00,1685.00C742.33,1668.33,717.33,1660.00,694.00,1660.00C612.00,1660.00,571.00,1694.33,571.00,1763.00C571.00,1782.33,583.33,1801.33,608.00,1820.00C632.67,1838.67,657.33,1848.00,682.00,1848.00M1221.00,1856.00C1243.67,1856.00,1266.67,1845.67,1290.00,1825.00C1313.33,1804.33,1325.00,1783.67,1325.00,1763.00C1325.00,1701.67,1277.33,1671.00,1182.00,1671.00C1154.67,1671.00,1130.33,1678.00,1109.00,1692.00C1085.00,1708.00,1073.00,1729.00,1073.00,1755.00C1073.00,1801.00,1088.00,1830.67,1118.00,1844.00C1134.67,1852.00,1169.00,1856.00,1221.00,1856.00"]
             KCanvasItem {path} at (4207.06,-41.60) size 48.13x51.86 [transform={m=((1.00,0.00)(0.00,1.00)) t=(4199.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M1306.00,412.00C1235.33,412.00,1174.33,422.33,1123.00,443.00C1071.67,463.67,1030.33,494.33,999.00,535.00C963.00,499.67,928.00,473.00,894.00,455.00C860.00,437.00,826.33,428.00,793.00,428.00C719.00,428.00,649.33,458.00,584.00,518.00C518.67,578.00,485.67,644.33,485.00,717.00C485.00,840.33,533.33,953.00,630.00,1055.00C726.67,1157.00,837.00,1208.00,961.00,1208.00C989.00,1208.00,1012.33,1197.67,1031.00,1177.00C1049.67,1156.33,1059.00,1131.33,1059.00,1102.00C1059.00,1062.00,1025.67,1032.33,959.00,1013.00C870.33,987.67,807.67,958.67,771.00,926.00C717.00,878.67,690.00,809.00,690.00,717.00C690.00,697.67,699.00,679.00,717.00,661.00C737.67,641.00,763.33,631.67,794.00,633.00C852.00,635.67,905.67,689.67,955.00,795.00C999.67,887.00,1039.33,933.00,1074.00,933.00C1102.00,933.00,1124.67,922.67,1142.00,902.00C1159.33,881.33,1168.00,856.00,1168.00,826.00C1168.00,812.67,1166.00,792.67,1162.00,766.00C1158.00,739.33,1155.67,719.33,1155.00,706.00C1155.00,662.67,1173.67,635.33,1211.00,624.00C1225.67,619.33,1257.33,617.00,1306.00,617.00C1397.33,617.00,1461.33,639.33,1498.00,684.00C1531.33,724.00,1548.00,790.33,1548.00,883.00C1548.00,1046.33,1482.33,1179.67,1351.00,1283.00C1231.00,1377.67,1087.67,1425.00,921.00,1425.00C727.00,1425.00,575.00,1351.67,465.00,1205.00C365.67,1074.33,316.00,910.00,316.00,712.00C316.00,529.33,374.33,375.33,491.00,250.00C612.33,119.33,768.33,54.00,959.00,54.00C1013.00,54.00,1074.00,64.33,1142.00,85.00L1317.00,150.00C1346.33,160.67,1365.33,166.00,1374.00,166.00C1401.33,166.00,1425.00,155.33,1445.00,134.00C1465.00,112.67,1475.00,87.33,1475.00,58.00C1475.00,-5.33,1404.00,-56.67,1262.00,-96.00C1154.67,-125.33,1054.33,-140.00,961.00,-140.00C867.00,-140.00,771.00,-122.00,673.00,-86.00C575.00,-50.00,490.67,-1.33,420.00,60.00C213.33,238.67,110.00,456.00,110.00,712.00C110.00,968.00,180.67,1182.00,322.00,1354.00C472.00,1538.00,671.67,1630.00,921.00,1630.00C1146.33,1630.00,1339.33,1562.33,1500.00,1427.00C1668.67,1283.67,1753.00,1102.33,1753.00,883.00C1753.00,733.00,1716.33,617.67,1643.00,537.00C1566.33,453.67,1454.00,412.00,1306.00,412.00"]
             KCanvasItem {path} at (6113.91,-24.99) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum
index 0f8c4c9..e231c17 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum
@@ -1 +1 @@
-4778d907fc08436b580c2bace7152682
\ No newline at end of file
+d701bb01b23a9670b8f2ea56cf84dcb0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png
index 5843786..c569a85 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
index 6c5f720..abf5986 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
@@ -2,7 +2,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+        RenderSVGText {text} at (0,0) size 465x36
+          RenderText {TEXT} at (0,0) size 400x36
+            text run at (0,0) width 400: "External SVG font element (xml)"
         KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+          RenderSVGText {text} at (0,0) size 465x22
+            RenderText {TEXT} at (0,0) size 105x22
+              text run at (0,0) width 105: "Placed Glyphs"
           KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,140.00)}]
             KCanvasItem {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
             KCanvasContainer {g} at (4.10,-54.49) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
@@ -17,6 +23,15 @@
               KCanvasItem {line} at (182.99,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M6106.00,-3500.00L6106.00,2000.00"]
               KCanvasItem {path} at (6113.91,-27.04) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"]
               KCanvasItem {line} at (213.81,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M7158.00,-3500.00L7158.00,2000.00"]
+        RenderSVGText {text} at (0,0) size 465x22
+          RenderText {TEXT} at (0,0) size 74x22
+            text run at (0,0) width 74: "SVG Font"
         KCanvasContainer {g} at (165,219.50) size 210x1 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]
           KCanvasItem {line} at (165,219.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 208x69
+              text run at (0,0) width 208: "Ay\x{D6}@\x{E7}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum
index 0f8c4c9..246f2bf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum
@@ -1 +1 @@
-4778d907fc08436b580c2bace7152682
\ No newline at end of file
+2b7e49966e0f53fc6861c8536b7efde7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png
index 5843786..ed84770 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
index 6c5f720..f0ed2d0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
@@ -2,7 +2,13 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+        RenderSVGText {text} at (0,0) size 465x36
+          RenderText {TEXT} at (0,0) size 391x36
+            text run at (0,0) width 391: "External SVG font element (css)"
         KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13
+          RenderSVGText {text} at (0,0) size 465x22
+            RenderText {TEXT} at (0,0) size 105x22
+              text run at (0,0) width 105: "Placed Glyphs"
           KCanvasContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,140.00)}]
             KCanvasItem {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
             KCanvasContainer {g} at (4.10,-54.49) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
@@ -17,6 +23,15 @@
               KCanvasItem {line} at (182.99,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M6106.00,-3500.00L6106.00,2000.00"]
               KCanvasItem {path} at (6113.91,-27.04) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"]
               KCanvasItem {line} at (213.81,-54.49) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M7158.00,-3500.00L7158.00,2000.00"]
+        RenderSVGText {text} at (0,0) size 465x22
+          RenderText {TEXT} at (0,0) size 74x22
+            text run at (0,0) width 74: "SVG Font"
         KCanvasContainer {g} at (165,219.50) size 210x1 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]
           KCanvasItem {line} at (165,219.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"]
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 208x69
+              text run at (0,0) width 208: "Ay\x{D6}@\x{E7}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum
index cb5b88c..6ef7a12 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum
@@ -1 +1 @@
-d3a893592e17c999b45c17db2b918b46
\ No newline at end of file
+3e7e84c40f0714f4b6c6121adfc86b3d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png
index 563fbe0..a738c4a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt
index 5184dea..2b50c3a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt
@@ -2,24 +2,52 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (115.29,35.26) size 294.71x299.74
+        RenderSVGText {text} at (0,0) size 465x31
+          RenderText {TEXT} at (0,0) size 126x31
+            text run at (0,0) width 126: "Text Cursor"
+          RenderText {TEXT} at (0,0) size 0x0
         KCanvasItem {rect} at (118.50,38.50) size 243x239 [stroke={[type=SOLID] [color=#666666] [stroke width=3.00]}] [data="M120.00,40.00L360.00,40.00L360.00,276.00L120.00,276.00"]
         KCanvasContainer {g} at (148,70) size 184x176
           KCanvasContainer {g} at (148,70) size 80x32
             KCanvasItem {rect} at (148,70) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M148.00,70.00L228.00,70.00L228.00,102.00L148.00,102.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 78x21
+                text run at (0,0) width 78: "crosshair"
           KCanvasContainer {g} at (148,118) size 80x32
             KCanvasItem {rect} at (148,118) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M148.00,118.00L228.00,118.00L228.00,150.00L148.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 61x21
+                text run at (0,0) width 61: "default"
           KCanvasContainer {g} at (148,166) size 80x32
             KCanvasItem {rect} at (148,166) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M148.00,166.00L228.00,166.00L228.00,198.00L148.00,198.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 62x21
+                text run at (0,0) width 62: "pointer"
           KCanvasContainer {g} at (148,214) size 80x32
             KCanvasItem {rect} at (148,214) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M148.00,214.00L228.00,214.00L228.00,246.00L148.00,246.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 46x21
+                text run at (0,0) width 46: "move"
           KCanvasContainer {g} at (252,70) size 80x32
             KCanvasItem {rect} at (252,70) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M252.00,70.00L332.00,70.00L332.00,102.00L252.00,102.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 35x21
+                text run at (0,0) width 35: "text"
           KCanvasContainer {g} at (252,118) size 80x32
             KCanvasItem {rect} at (252,118) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M252.00,118.00L332.00,118.00L332.00,150.00L252.00,150.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 36x21
+                text run at (0,0) width 36: "wait"
           KCanvasContainer {g} at (252,166) size 80x32
             KCanvasItem {rect} at (252,166) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M252.00,166.00L332.00,166.00L332.00,198.00L252.00,198.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 36x21
+                text run at (0,0) width 36: "help"
           KCanvasContainer {g} at (252,214) size 80x32
             KCanvasItem {rect} at (252,214) size 80x32 [fill={[type=SOLID] [color=#666666]}] [data="M252.00,214.00L332.00,214.00L332.00,246.00L252.00,246.00"]
+            RenderSVGText {text} at (0,0) size 465x21
+              RenderText {TEXT} at (0,0) size 46x21
+                text run at (0,0) width 46: "<url>"
         KCanvasContainer {g} at (115.29,35.26) size 249.41x245.48
           KCanvasItem {polygon} at (115.50,35.50) size 33.71x33.71 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [data="M116.00,36.00L116.00,68.00L148.00,36.00"]
           KCanvasItem {polygon} at (330.79,35.50) size 33.71x33.71 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [data="M364.00,36.00L364.00,68.00L332.00,36.00"]
@@ -36,4 +64,7 @@
           KCanvasItem {circle} at (384,309) size 12x12 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M396.00,315.00L395.99,315.38L395.95,315.75L395.89,316.12L395.81,316.49L395.71,316.85L395.58,317.21L395.43,317.55L395.26,317.89L395.07,318.21L394.85,318.53L394.62,318.82L394.37,319.11L394.11,319.37L393.82,319.62L393.53,319.85L393.21,320.07L392.89,320.26L392.55,320.43L392.21,320.58L391.85,320.71L391.49,320.81L391.12,320.89L390.75,320.95L390.38,320.99L390.00,321.00L389.62,320.99L389.25,320.95L388.88,320.89L388.51,320.81L388.15,320.71L387.79,320.58L387.45,320.43L387.11,320.26L386.79,320.07L386.47,319.85L386.18,319.62L385.89,319.37L385.63,319.11L385.38,318.82L385.15,318.53L384.93,318.21L384.74,317.89L384.57,317.55L384.42,317.21L384.29,316.85L384.19,316.49L384.11,316.12L384.05,315.75L384.01,315.38L384.00,315.00L384.01,314.62L384.05,314.25L384.11,313.88L384.19,313.51L384.29,313.15L384.42,312.79L384.57,312.45L384.74,312.11L384.93,311.79L385.15,311.47L385.38,311.18L385.63,310.89L385.89,310.63L386.18,310.38L386.47,310.15L386.79,309.93L387.11,309.74L387.45,309.57L387.79,309.42L388.15,309.29L388.51,309.19L388.88,309.11L389.25,309.05L389.62,309.01L390.00,309.00L390.38,309.01L390.75,309.05L391.12,309.11L391.49,309.19L391.85,309.29L392.21,309.42L392.55,309.57L392.89,309.74L393.21,309.93L393.53,310.15L393.82,310.38L394.11,310.63L394.37,310.89L394.62,311.18L394.85,311.47L395.07,311.79L395.26,312.11L395.43,312.45L395.58,312.79L395.71,313.15L395.81,313.51L395.89,313.88L395.95,314.25L395.99,314.62"]
           KCanvasContainer {a} at (388,313) size 4x4
             KCanvasItem {circle} at (388,313) size 4x4 [fill={[type=SOLID] [color=#000000]}] [data="M392.00,315.00L392.00,315.13L391.98,315.25L391.96,315.37L391.94,315.50L391.90,315.62L391.86,315.74L391.81,315.85L391.75,315.96L391.69,316.07L391.62,316.18L391.54,316.27L391.46,316.37L391.37,316.46L391.27,316.54L391.18,316.62L391.07,316.69L390.96,316.75L390.85,316.81L390.74,316.86L390.62,316.90L390.50,316.94L390.37,316.96L390.25,316.98L390.13,317.00L390.00,317.00L389.87,317.00L389.75,316.98L389.63,316.96L389.50,316.94L389.38,316.90L389.26,316.86L389.15,316.81L389.04,316.75L388.93,316.69L388.82,316.62L388.73,316.54L388.63,316.46L388.54,316.37L388.46,316.27L388.38,316.18L388.31,316.07L388.25,315.96L388.19,315.85L388.14,315.74L388.10,315.62L388.06,315.50L388.04,315.37L388.02,315.25L388.00,315.13L388.00,315.00L388.00,314.87L388.02,314.75L388.04,314.63L388.06,314.50L388.10,314.38L388.14,314.26L388.19,314.15L388.25,314.04L388.31,313.93L388.38,313.82L388.46,313.73L388.54,313.63L388.63,313.54L388.73,313.46L388.82,313.38L388.93,313.31L389.04,313.25L389.15,313.19L389.26,313.14L389.38,313.10L389.50,313.06L389.63,313.04L389.75,313.02L389.87,313.00L390.00,313.00L390.13,313.00L390.25,313.02L390.37,313.04L390.50,313.06L390.62,313.10L390.74,313.14L390.85,313.19L390.96,313.25L391.07,313.31L391.18,313.38L391.27,313.46L391.37,313.54L391.46,313.63L391.54,313.73L391.62,313.82L391.69,313.93L391.75,314.04L391.81,314.15L391.86,314.26L391.90,314.38L391.94,314.50L391.96,314.63L391.98,314.75L392.00,314.87"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum
index 6da8c5d..686a4d4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.checksum
@@ -1 +1 @@
-5e17d9dc5e0baebf74c0bbcf70a03011
\ No newline at end of file
+00f34921bc0e0c7ef1fde2a97ac09b91
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png
index 85cb2af..cba1228 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt
index 97beea6..41c3e1c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt
@@ -4,4 +4,10 @@
       KCanvasContainer {g} at (64.50,19.50) size 351x201
         KCanvasContainer {g} at (64.50,19.50) size 351x201
           KCanvasItem {rect} at (64.50,19.50) size 351x201 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#DDDDDD]}] [data="M65.00,20.00L415.00,20.00L415.00,220.00L65.00,220.00"]
+          RenderSVGText {text} at (0,0) size 465x63
+            RenderText {TEXT} at (0,0) size 209x63
+              text run at (0,0) width 209: "Start Test"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum
index 8a71cb4..4f0a7cc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+2b16b5d6f38f6b37d099ea892a08d4cb
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.png
index fd25073..3164046 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt
index ac3e8f2..0bde862 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt
@@ -2,20 +2,44 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (77.50,45) size 330x213
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 408x45
+            text run at (0,0) width 408: "'onload' event attribute."
         KCanvasContainer {g} at (77.50,45) size 330x213
           KCanvasContainer {g} at (77.50,45) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(77.50,45.00)}]
             KCanvasItem {rect} at (77.50,45) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 95x45
+                text run at (0,0) width 95: "1: No"
           KCanvasContainer {g} at (202.50,45) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(202.50,45.00)}]
             KCanvasItem {rect} at (202.50,45) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 113x45
+                text run at (0,0) width 113: "2: Yes"
           KCanvasContainer {g} at (327.50,45) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(327.50,45.00)}]
             KCanvasContainer {g} at (327.50,45) size 80x80
               KCanvasItem {rect} at (327.50,45) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 113x45
+                text run at (0,0) width 113: "3: Yes"
           KCanvasContainer {g} at (77.50,178) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(77.50,178.00)}]
             KCanvasContainer {svg} at (77.50,178) size 80x80
               KCanvasItem {rect} at (77.50,178) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 113x45
+                text run at (0,0) width 113: "4: Yes"
           KCanvasContainer {g} at (202.50,178) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(202.50,178.00)}]
             KCanvasContainer {g} at (202.50,178) size 80x80
               KCanvasItem {rect} at (202.50,178) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 95x45
+                text run at (0,0) width 95: "5: No"
           KCanvasContainer {g} at (327.50,178) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(327.50,178.00)}]
             KCanvasItem {rect} at (327.50,178) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L80.00,0.00L80.00,80.00L0.00,80.00"]
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 113x45
+                text run at (0,0) width 113: "6: Yes"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum
index da0f67d..3df4019 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.checksum
@@ -1 +1 @@
-a38d8b6a328f0e135156a497a56a8c2c
\ No newline at end of file
+4e2a32792183cba7712915152957b5b9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.png
index 895c8cd..9773cbb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt
index bc6c28e..d5f5329 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt
@@ -2,6 +2,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (9.50,59.50) size 461x241
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 320x45
+            text run at (0,0) width 320: "Event bubbling - a"
         KCanvasContainer {g} at (9.50,59.50) size 461x241
           KCanvasItem {rect} at (9.50,59.50) size 461x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [data="M10.00,60.00L470.00,60.00L470.00,180.00L10.00,180.00"]
           KCanvasItem {rect} at (9.50,179.50) size 461x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M10.00,180.00L470.00,180.00L470.00,300.00L10.00,300.00"]
@@ -9,4 +12,19 @@
           KCanvasContainer {g} at (20,70) size 100x220
             KCanvasItem {circle} at (20,70) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M120.00,120.00L119.90,123.14L119.61,126.27L119.11,129.37L118.43,132.43L117.55,135.45L116.49,138.41L115.24,141.29L113.82,144.09L112.22,146.79L110.45,149.39L108.53,151.87L106.45,154.23L104.23,156.45L101.87,158.53L99.39,160.45L96.79,162.22L94.09,163.82L91.29,165.24L88.41,166.49L85.45,167.55L82.43,168.43L79.37,169.11L76.27,169.61L73.14,169.90L70.00,170.00L66.86,169.90L63.73,169.61L60.63,169.11L57.57,168.43L54.55,167.55L51.59,166.49L48.71,165.24L45.91,163.82L43.21,162.22L40.61,160.45L38.13,158.53L35.77,156.45L33.55,154.23L31.47,151.87L29.55,149.39L27.78,146.79L26.18,144.09L24.76,141.29L23.51,138.41L22.45,135.45L21.57,132.43L20.89,129.37L20.39,126.27L20.10,123.14L20.00,120.00L20.10,116.86L20.39,113.73L20.89,110.63L21.57,107.57L22.45,104.55L23.51,101.59L24.76,98.71L26.18,95.91L27.78,93.21L29.55,90.61L31.47,88.13L33.55,85.77L35.77,83.55L38.13,81.47L40.61,79.55L43.21,77.78L45.91,76.18L48.71,74.76L51.59,73.51L54.55,72.45L57.57,71.57L60.63,70.89L63.73,70.39L66.86,70.10L70.00,70.00L73.14,70.10L76.27,70.39L79.37,70.89L82.43,71.57L85.45,72.45L88.41,73.51L91.29,74.76L94.09,76.18L96.79,77.78L99.39,79.55L101.87,81.47L104.23,83.55L106.45,85.77L108.53,88.13L110.45,90.61L112.22,93.21L113.82,95.91L115.24,98.71L116.49,101.59L117.55,104.55L118.43,107.57L119.11,110.63L119.61,113.73L119.90,116.86"]
             KCanvasItem {circle} at (20,190) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M120.00,240.00L119.90,243.14L119.61,246.27L119.11,249.37L118.43,252.43L117.55,255.45L116.49,258.41L115.24,261.29L113.82,264.09L112.22,266.79L110.45,269.39L108.53,271.87L106.45,274.23L104.23,276.45L101.87,278.53L99.39,280.45L96.79,282.22L94.09,283.82L91.29,285.24L88.41,286.49L85.45,287.55L82.43,288.43L79.37,289.11L76.27,289.61L73.14,289.90L70.00,290.00L66.86,289.90L63.73,289.61L60.63,289.11L57.57,288.43L54.55,287.55L51.59,286.49L48.71,285.24L45.91,283.82L43.21,282.22L40.61,280.45L38.13,278.53L35.77,276.45L33.55,274.23L31.47,271.87L29.55,269.39L27.78,266.79L26.18,264.09L24.76,261.29L23.51,258.41L22.45,255.45L21.57,252.43L20.89,249.37L20.39,246.27L20.10,243.14L20.00,240.00L20.10,236.86L20.39,233.73L20.89,230.63L21.57,227.57L22.45,224.55L23.51,221.59L24.76,218.71L26.18,215.91L27.78,213.21L29.55,210.61L31.47,208.13L33.55,205.77L35.77,203.55L38.13,201.47L40.61,199.55L43.21,197.78L45.91,196.18L48.71,194.76L51.59,193.51L54.55,192.45L57.57,191.57L60.63,190.89L63.73,190.39L66.86,190.10L70.00,190.00L73.14,190.10L76.27,190.39L79.37,190.89L82.43,191.57L85.45,192.45L88.41,193.51L91.29,194.76L94.09,196.18L96.79,197.78L99.39,199.55L101.87,201.47L104.23,203.55L106.45,205.77L108.53,208.13L110.45,210.61L112.22,213.21L113.82,215.91L115.24,218.71L116.49,221.59L117.55,224.55L118.43,227.57L119.11,230.63L119.61,233.73L119.90,236.86"]
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 283x45
+              text run at (0,0) width 283: "Pointer in circle,"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 260x45
+              text run at (0,0) width 260: "circle turns red"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 283x45
+              text run at (0,0) width 283: "Pointer in circle,"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 278x45
+              text run at (0,0) width 278: "circle turns blue"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum
index da0f67d..e8dafee 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.checksum
@@ -1 +1 @@
-a38d8b6a328f0e135156a497a56a8c2c
\ No newline at end of file
+addb3f95ef36231a8faf3f6eea43e96b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.png
index 895c8cd..1d37fd0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt
index 5cb2b09..8a41888 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt
@@ -2,6 +2,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (9.50,59.50) size 461x241
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 320x45
+            text run at (0,0) width 320: "Event bubbling - b"
         KCanvasContainer {g} at (9.50,59.50) size 461x241
           KCanvasItem {rect} at (9.50,59.50) size 461x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [data="M10.00,60.00L470.00,60.00L470.00,180.00L10.00,180.00"]
           KCanvasItem {rect} at (9.50,179.50) size 461x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M10.00,180.00L470.00,180.00L470.00,300.00L10.00,300.00"]
@@ -9,4 +12,19 @@
           KCanvasContainer {a} at (20,70) size 100x220
             KCanvasItem {circle} at (20,70) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M120.00,120.00L119.90,123.14L119.61,126.27L119.11,129.37L118.43,132.43L117.55,135.45L116.49,138.41L115.24,141.29L113.82,144.09L112.22,146.79L110.45,149.39L108.53,151.87L106.45,154.23L104.23,156.45L101.87,158.53L99.39,160.45L96.79,162.22L94.09,163.82L91.29,165.24L88.41,166.49L85.45,167.55L82.43,168.43L79.37,169.11L76.27,169.61L73.14,169.90L70.00,170.00L66.86,169.90L63.73,169.61L60.63,169.11L57.57,168.43L54.55,167.55L51.59,166.49L48.71,165.24L45.91,163.82L43.21,162.22L40.61,160.45L38.13,158.53L35.77,156.45L33.55,154.23L31.47,151.87L29.55,149.39L27.78,146.79L26.18,144.09L24.76,141.29L23.51,138.41L22.45,135.45L21.57,132.43L20.89,129.37L20.39,126.27L20.10,123.14L20.00,120.00L20.10,116.86L20.39,113.73L20.89,110.63L21.57,107.57L22.45,104.55L23.51,101.59L24.76,98.71L26.18,95.91L27.78,93.21L29.55,90.61L31.47,88.13L33.55,85.77L35.77,83.55L38.13,81.47L40.61,79.55L43.21,77.78L45.91,76.18L48.71,74.76L51.59,73.51L54.55,72.45L57.57,71.57L60.63,70.89L63.73,70.39L66.86,70.10L70.00,70.00L73.14,70.10L76.27,70.39L79.37,70.89L82.43,71.57L85.45,72.45L88.41,73.51L91.29,74.76L94.09,76.18L96.79,77.78L99.39,79.55L101.87,81.47L104.23,83.55L106.45,85.77L108.53,88.13L110.45,90.61L112.22,93.21L113.82,95.91L115.24,98.71L116.49,101.59L117.55,104.55L118.43,107.57L119.11,110.63L119.61,113.73L119.90,116.86"]
             KCanvasItem {circle} at (20,190) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M120.00,240.00L119.90,243.14L119.61,246.27L119.11,249.37L118.43,252.43L117.55,255.45L116.49,258.41L115.24,261.29L113.82,264.09L112.22,266.79L110.45,269.39L108.53,271.87L106.45,274.23L104.23,276.45L101.87,278.53L99.39,280.45L96.79,282.22L94.09,283.82L91.29,285.24L88.41,286.49L85.45,287.55L82.43,288.43L79.37,289.11L76.27,289.61L73.14,289.90L70.00,290.00L66.86,289.90L63.73,289.61L60.63,289.11L57.57,288.43L54.55,287.55L51.59,286.49L48.71,285.24L45.91,283.82L43.21,282.22L40.61,280.45L38.13,278.53L35.77,276.45L33.55,274.23L31.47,271.87L29.55,269.39L27.78,266.79L26.18,264.09L24.76,261.29L23.51,258.41L22.45,255.45L21.57,252.43L20.89,249.37L20.39,246.27L20.10,243.14L20.00,240.00L20.10,236.86L20.39,233.73L20.89,230.63L21.57,227.57L22.45,224.55L23.51,221.59L24.76,218.71L26.18,215.91L27.78,213.21L29.55,210.61L31.47,208.13L33.55,205.77L35.77,203.55L38.13,201.47L40.61,199.55L43.21,197.78L45.91,196.18L48.71,194.76L51.59,193.51L54.55,192.45L57.57,191.57L60.63,190.89L63.73,190.39L66.86,190.10L70.00,190.00L73.14,190.10L76.27,190.39L79.37,190.89L82.43,191.57L85.45,192.45L88.41,193.51L91.29,194.76L94.09,196.18L96.79,197.78L99.39,199.55L101.87,201.47L104.23,203.55L106.45,205.77L108.53,208.13L110.45,210.61L112.22,213.21L113.82,215.91L115.24,218.71L116.49,221.59L117.55,224.55L118.43,227.57L119.11,230.63L119.61,233.73L119.90,236.86"]
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 257x45
+              text run at (0,0) width 257: "Click on circle,"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 260x45
+              text run at (0,0) width 260: "circle turns red"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 257x45
+              text run at (0,0) width 257: "Click on circle,"
+          RenderSVGText {text} at (0,0) size 465x45
+            RenderText {TEXT} at (0,0) size 159x45
+              text run at (0,0) width 159: "hyperlink"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum
index 16e1a2a..8910446 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.checksum
@@ -1 +1 @@
-a9db5c91582734ed80be3681332a85b3
\ No newline at end of file
+609d3261db6364f885c0d81ae738cfcc
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.png
index 7b2dc34..1dac01a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt
index fd4d21d..e48ed2b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt
@@ -2,9 +2,27 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (9.50,54.50) size 461x231
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 318x45
+            text run at (0,0) width 318: "Event bubbling - c"
         KCanvasContainer {g} at (9.50,54.50) size 461x231
           KCanvasItem {rect} at (9.50,54.50) size 461x231 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [data="M10.00,55.00L470.00,55.00L470.00,285.00L10.00,285.00"]
         KCanvasContainer {g} at (0,0) size 0x0
           KCanvasContainer {a} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 415x45
+                text run at (0,0) width 415: "String turns red on click"
             KCanvasContainer {g} at (0,0) size 0x0
+              RenderSVGText {text} at (0,0) size 465x45
+                RenderText {TEXT} at (0,0) size 338x45
+                  text run at (0,0) width 338: "String hyperlinks to"
+              RenderSVGText {text} at (0,0) size 465x38
+                RenderText {TEXT} at (0,0) size 387x38
+                  text run at (0,0) width 387: "interact-order-03b-targ.svg"
+            RenderSVGText {text} at (0,0) size 465x45
+              RenderText {TEXT} at (0,0) size 442x45
+                text run at (0,0) width 442: "All strings are selectable."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum
index 58fed0b..33aa967 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum
@@ -1 +1 @@
-90418334da04f71f030029f2dfd60ad9
\ No newline at end of file
+199d2450a0c5ee8ef5abd37b03967f48
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png
index 561c73c..41651d0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt
index 11a32d2..72b8d09 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt
@@ -2,10 +2,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (3,3) size 480x360
       KCanvasContainer {g} at (57.00,129.00) size 366.00x126.00
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 92x10
+            text run at (0,0) width 92: "Test \"disable\" value of"
+        RenderSVGText {text} at (0,0) size 465x10
+          RenderText {TEXT} at (0,0) size 94x10
+            text run at (0,0) width 94: "zoomAndPan attribute."
         KCanvasContainer {g} at (57.00,129.00) size 366.00x126.00
           KCanvasItem {circle} at (57.00,129.00) size 126.00x126.00 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [data="M30.00,32.00L29.98,32.63L29.92,33.25L29.82,33.87L29.69,34.49L29.51,35.09L29.30,35.68L29.05,36.26L28.76,36.82L28.44,37.36L28.09,37.88L27.71,38.37L27.29,38.85L26.85,39.29L26.37,39.71L25.88,40.09L25.36,40.44L24.82,40.76L24.26,41.05L23.68,41.30L23.09,41.51L22.49,41.69L21.87,41.82L21.25,41.92L20.63,41.98L20.00,42.00L19.37,41.98L18.75,41.92L18.13,41.82L17.51,41.69L16.91,41.51L16.32,41.30L15.74,41.05L15.18,40.76L14.64,40.44L14.12,40.09L13.63,39.71L13.15,39.29L12.71,38.85L12.29,38.37L11.91,37.88L11.56,37.36L11.24,36.82L10.95,36.26L10.70,35.68L10.49,35.09L10.31,34.49L10.18,33.87L10.08,33.25L10.02,32.63L10.00,32.00L10.02,31.37L10.08,30.75L10.18,30.13L10.31,29.51L10.49,28.91L10.70,28.32L10.95,27.74L11.24,27.18L11.56,26.64L11.91,26.12L12.29,25.63L12.71,25.15L13.15,24.71L13.63,24.29L14.12,23.91L14.64,23.56L15.18,23.24L15.74,22.95L16.32,22.70L16.91,22.49L17.51,22.31L18.13,22.18L18.75,22.08L19.37,22.02L20.00,22.00L20.63,22.02L21.25,22.08L21.87,22.18L22.49,22.31L23.09,22.49L23.68,22.70L24.26,22.95L24.82,23.24L25.36,23.56L25.88,23.91L26.37,24.29L26.85,24.71L27.29,25.15L27.71,25.63L28.09,26.12L28.44,26.64L28.76,27.18L29.05,27.74L29.30,28.32L29.51,28.91L29.69,29.51L29.82,30.13L29.92,30.75L29.98,31.37"]
           KCanvasItem {circle} at (117.00,129.00) size 126.00x126.00 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,32.00L39.98,32.63L39.92,33.25L39.82,33.87L39.69,34.49L39.51,35.09L39.30,35.68L39.05,36.26L38.76,36.82L38.44,37.36L38.09,37.88L37.71,38.37L37.29,38.85L36.85,39.29L36.37,39.71L35.88,40.09L35.36,40.44L34.82,40.76L34.26,41.05L33.68,41.30L33.09,41.51L32.49,41.69L31.87,41.82L31.25,41.92L30.63,41.98L30.00,42.00L29.37,41.98L28.75,41.92L28.13,41.82L27.51,41.69L26.91,41.51L26.32,41.30L25.74,41.05L25.18,40.76L24.64,40.44L24.12,40.09L23.63,39.71L23.15,39.29L22.71,38.85L22.29,38.37L21.91,37.88L21.56,37.36L21.24,36.82L20.95,36.26L20.70,35.68L20.49,35.09L20.31,34.49L20.18,33.87L20.08,33.25L20.02,32.63L20.00,32.00L20.02,31.37L20.08,30.75L20.18,30.13L20.31,29.51L20.49,28.91L20.70,28.32L20.95,27.74L21.24,27.18L21.56,26.64L21.91,26.12L22.29,25.63L22.71,25.15L23.15,24.71L23.63,24.29L24.12,23.91L24.64,23.56L25.18,23.24L25.74,22.95L26.32,22.70L26.91,22.49L27.51,22.31L28.13,22.18L28.75,22.08L29.37,22.02L30.00,22.00L30.63,22.02L31.25,22.08L31.87,22.18L32.49,22.31L33.09,22.49L33.68,22.70L34.26,22.95L34.82,23.24L35.36,23.56L35.88,23.91L36.37,24.29L36.85,24.71L37.29,25.15L37.71,25.63L38.09,26.12L38.44,26.64L38.76,27.18L39.05,27.74L39.30,28.32L39.51,28.91L39.69,29.51L39.82,30.13L39.92,30.75L39.98,31.37"]
           KCanvasItem {circle} at (297.00,129.00) size 126.00x126.00 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [data="M70.00,32.00L69.98,32.63L69.92,33.25L69.82,33.87L69.69,34.49L69.51,35.09L69.30,35.68L69.05,36.26L68.76,36.82L68.44,37.36L68.09,37.88L67.71,38.37L67.29,38.85L66.85,39.29L66.37,39.71L65.88,40.09L65.36,40.44L64.82,40.76L64.26,41.05L63.68,41.30L63.09,41.51L62.49,41.69L61.87,41.82L61.25,41.92L60.63,41.98L60.00,42.00L59.37,41.98L58.75,41.92L58.13,41.82L57.51,41.69L56.91,41.51L56.32,41.30L55.74,41.05L55.18,40.76L54.64,40.44L54.12,40.09L53.63,39.71L53.15,39.29L52.71,38.85L52.29,38.37L51.91,37.88L51.56,37.36L51.24,36.82L50.95,36.26L50.70,35.68L50.49,35.09L50.31,34.49L50.18,33.87L50.08,33.25L50.02,32.63L50.00,32.00L50.02,31.37L50.08,30.75L50.18,30.13L50.31,29.51L50.49,28.91L50.70,28.32L50.95,27.74L51.24,27.18L51.56,26.64L51.91,26.12L52.29,25.63L52.71,25.15L53.15,24.71L53.63,24.29L54.12,23.91L54.64,23.56L55.18,23.24L55.74,22.95L56.32,22.70L56.91,22.49L57.51,22.31L58.13,22.18L58.75,22.08L59.37,22.02L60.00,22.00L60.63,22.02L61.25,22.08L61.87,22.18L62.49,22.31L63.09,22.49L63.68,22.70L64.26,22.95L64.82,23.24L65.36,23.56L65.88,23.91L66.37,24.29L66.85,24.71L67.29,25.15L67.71,25.63L68.09,26.12L68.44,26.64L68.76,27.18L69.05,27.74L69.30,28.32L69.51,28.91L69.69,29.51L69.82,30.13L69.92,30.75L69.98,31.37"]
           KCanvasItem {circle} at (237.00,129.00) size 126.00x126.00 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [data="M60.00,32.00L59.98,32.63L59.92,33.25L59.82,33.87L59.69,34.49L59.51,35.09L59.30,35.68L59.05,36.26L58.76,36.82L58.44,37.36L58.09,37.88L57.71,38.37L57.29,38.85L56.85,39.29L56.37,39.71L55.88,40.09L55.36,40.44L54.82,40.76L54.26,41.05L53.68,41.30L53.09,41.51L52.49,41.69L51.87,41.82L51.25,41.92L50.63,41.98L50.00,42.00L49.37,41.98L48.75,41.92L48.13,41.82L47.51,41.69L46.91,41.51L46.32,41.30L45.74,41.05L45.18,40.76L44.64,40.44L44.12,40.09L43.63,39.71L43.15,39.29L42.71,38.85L42.29,38.37L41.91,37.88L41.56,37.36L41.24,36.82L40.95,36.26L40.70,35.68L40.49,35.09L40.31,34.49L40.18,33.87L40.08,33.25L40.02,32.63L40.00,32.00L40.02,31.37L40.08,30.75L40.18,30.13L40.31,29.51L40.49,28.91L40.70,28.32L40.95,27.74L41.24,27.18L41.56,26.64L41.91,26.12L42.29,25.63L42.71,25.15L43.15,24.71L43.63,24.29L44.12,23.91L44.64,23.56L45.18,23.24L45.74,22.95L46.32,22.70L46.91,22.49L47.51,22.31L48.13,22.18L48.75,22.08L49.37,22.02L50.00,22.00L50.63,22.02L51.25,22.08L51.87,22.18L52.49,22.31L53.09,22.49L53.68,22.70L54.26,22.95L54.82,23.24L55.36,23.56L55.88,23.91L56.37,24.29L56.85,24.71L57.29,25.15L57.71,25.63L58.09,26.12L58.44,26.64L58.76,27.18L59.05,27.74L59.30,28.32L59.51,28.91L59.69,29.51L59.82,30.13L59.92,30.75L59.98,31.37"]
           KCanvasItem {circle} at (177.00,129.00) size 126.00x126.00 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [data="M50.00,32.00L49.98,32.63L49.92,33.25L49.82,33.87L49.69,34.49L49.51,35.09L49.30,35.68L49.05,36.26L48.76,36.82L48.44,37.36L48.09,37.88L47.71,38.37L47.29,38.85L46.85,39.29L46.37,39.71L45.88,40.09L45.36,40.44L44.82,40.76L44.26,41.05L43.68,41.30L43.09,41.51L42.49,41.69L41.87,41.82L41.25,41.92L40.63,41.98L40.00,42.00L39.37,41.98L38.75,41.92L38.13,41.82L37.51,41.69L36.91,41.51L36.32,41.30L35.74,41.05L35.18,40.76L34.64,40.44L34.12,40.09L33.63,39.71L33.15,39.29L32.71,38.85L32.29,38.37L31.91,37.88L31.56,37.36L31.24,36.82L30.95,36.26L30.70,35.68L30.49,35.09L30.31,34.49L30.18,33.87L30.08,33.25L30.02,32.63L30.00,32.00L30.02,31.37L30.08,30.75L30.18,30.13L30.31,29.51L30.49,28.91L30.70,28.32L30.95,27.74L31.24,27.18L31.56,26.64L31.91,26.12L32.29,25.63L32.71,25.15L33.15,24.71L33.63,24.29L34.12,23.91L34.64,23.56L35.18,23.24L35.74,22.95L36.32,22.70L36.91,22.49L37.51,22.31L38.13,22.18L38.75,22.08L39.37,22.02L40.00,22.00L40.63,22.02L41.25,22.08L41.87,22.18L42.49,22.31L43.09,22.49L43.68,22.70L44.26,22.95L44.82,23.24L45.36,23.56L45.88,23.91L46.37,24.29L46.85,24.71L47.29,25.15L47.71,25.63L48.09,26.12L48.44,26.64L48.76,27.18L49.05,27.74L49.30,28.32L49.51,28.91L49.69,29.51L49.82,30.13L49.92,30.75L49.98,31.37"]
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L80.00,1.00L80.00,60.00L1.00,60.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum
index b8bbbc8..8fbead8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.checksum
@@ -1 +1 @@
-90c092d2d8ed5af1473c8226692cf6de
\ No newline at end of file
+b0291c799398f0e084c4cde893332882
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.png
index 78cb5f2..43be156 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt
index 9f9db9b..9f67ff4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (78.40,53.92) size 292.60x148.16 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}]
         KCanvasContainer {a} at (78.40,53.92) size 292.60x148.16
           KCanvasItem {path} at (78.40,53.92) size 292.60x148.16 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#00FFFF]}] [data="M185.00,40.00L85.00,40.00L85.00,28.00L40.00,64.00L85.00,100.00L85.00,88.00L185.00,88.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum
index e3ce10f..d75c36c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.checksum
@@ -1 +1 @@
-091b7b2306add27c9ed9ac7f996bfd7d
\ No newline at end of file
+8d639cc955d5e6ea2b29c12f447fef1f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.png
index a0c5f17..f30f722 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt
index 151c908..f897144 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (78.40,53.92) size 292.60x148.16 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}]
         KCanvasContainer {a} at (78.40,53.92) size 292.60x148.16
           KCanvasItem {path} at (78.40,53.92) size 292.60x148.16 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M185.00,40.00L85.00,40.00L85.00,28.00L40.00,64.00L85.00,100.00L85.00,88.00L185.00,88.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum
index 7b52617..bf8ec9d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.checksum
@@ -1 +1 @@
-b1bd2e95bf56258e843b8236dc35012e
\ No newline at end of file
+6d513abd96a68ddfaeeed2a1b27e50f5
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.png
index 3d01977..396fb46 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt
index 22f355e..f910434 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (78.40,53.92) size 292.60x148.16 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}]
         KCanvasContainer {a} at (78.40,53.92) size 292.60x148.16
           KCanvasItem {path} at (78.40,53.92) size 292.60x148.16 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M185.00,40.00L85.00,40.00L85.00,28.00L40.00,64.00L85.00,100.00L85.00,88.00L185.00,88.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum
index e4bc3be..2646cbb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.checksum
@@ -1 +1 @@
-98f989404ddf28ecf949a288309970cd
\ No newline at end of file
+c1ee8c11592e87f97bbeb6289b19d41a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.png
index 91ad650..2437cb1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt
index a240176..80388c4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt
@@ -2,6 +2,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (164.50,26.96) size 247.50x254.08
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 195x14
+            text run at (0,0) width 195: "Basic out-bound links and the 'a' element."
         KCanvasContainer {a} at (164.50,26.96) size 146.30x74.08
           KCanvasItem {path} at (164.50,26.96) size 146.30x74.08 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M165.00,40.00L265.00,40.00L265.00,28.00L310.00,64.00L265.00,100.00L265.00,88.00L165.00,88.00"]
         KCanvasContainer {g} at (164.50,116.96) size 146.30x74.08 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,90.00)}]
@@ -11,4 +14,10 @@
           KCanvasContainer {a} at (164.50,206.96) size 146.30x74.08
             KCanvasItem {path} at (164.50,206.96) size 146.30x74.08 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#00FFFF]}] [data="M165.00,40.00L265.00,40.00L265.00,28.00L310.00,64.00L265.00,100.00L265.00,88.00L165.00,88.00"]
         KCanvasItem {circle} at (368.00,131.00) size 44.00x44.00 [stroke={[type=SOLID] [color=#00FF00] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M410.00,153.00L409.96,154.26L409.84,155.51L409.65,156.75L409.37,157.97L409.02,159.18L408.60,160.36L408.10,161.52L407.53,162.64L406.89,163.72L406.18,164.76L405.41,165.75L404.58,166.69L403.69,167.58L402.75,168.41L401.76,169.18L400.72,169.89L399.64,170.53L398.52,171.10L397.36,171.60L396.18,172.02L394.97,172.37L393.75,172.65L392.51,172.84L391.26,172.96L390.00,173.00L388.74,172.96L387.49,172.84L386.25,172.65L385.03,172.37L383.82,172.02L382.64,171.60L381.48,171.10L380.36,170.53L379.28,169.89L378.24,169.18L377.25,168.41L376.31,167.58L375.42,166.69L374.59,165.75L373.82,164.76L373.11,163.72L372.47,162.64L371.90,161.52L371.40,160.36L370.98,159.18L370.63,157.97L370.35,156.75L370.16,155.51L370.04,154.26L370.00,153.00L370.04,151.74L370.16,150.49L370.35,149.25L370.63,148.03L370.98,146.82L371.40,145.64L371.90,144.48L372.47,143.36L373.11,142.28L373.82,141.24L374.59,140.25L375.42,139.31L376.31,138.42L377.25,137.59L378.24,136.82L379.28,136.11L380.36,135.47L381.48,134.90L382.64,134.40L383.82,133.98L385.03,133.63L386.25,133.35L387.49,133.16L388.74,133.04L390.00,133.00L391.26,133.04L392.51,133.16L393.75,133.35L394.97,133.63L396.18,133.98L397.36,134.40L398.52,134.90L399.64,135.47L400.72,136.11L401.76,136.82L402.75,137.59L403.69,138.42L404.58,139.31L405.41,140.25L406.18,141.24L406.89,142.28L407.53,143.36L408.10,144.48L408.60,145.64L409.02,146.82L409.37,148.03L409.65,149.25L409.84,150.49L409.96,151.74"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 76x13
+            text run at (0,0) width 76: "id=\"internal-circle\""
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum
index 6f5c52b..53c57c2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum
@@ -1 +1 @@
-7f5ae0888882a865546bc39e7dd497d3
\ No newline at end of file
+a47a9310e80cd603793da0957423ac1b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png
index 38460e1..9e31596 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt
index d9ffc8f..0a99ac9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt
@@ -2,18 +2,72 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (35.50,28.50) size 410x270
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 298x14
+            text run at (0,0) width 298: "Link test of the 'view' element and its attributes, 1 of 2, internal."
         KCanvasContainer {g} at (150,130) size 125x85 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,75.00)}]
           KCanvasItem {rect} at (150,130) size 125x85 [fill={[type=SOLID] [color=#AAAAAA]}] [data="M300.00,55.00L425.00,55.00L425.00,140.00L300.00,140.00"]
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 103x18
+                text run at (0,0) width 103: "Go to Rectangle"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 83x18
+                text run at (0,0) width 83: "Go to Ellipse"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 78x18
+                text run at (0,0) width 78: "Go to Circle"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 93x18
+                text run at (0,0) width 93: "Go to Polygon"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 91x14
+              text run at (0,0) width 91: "Click element's line"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 82x14
+              text run at (0,0) width 82: "to link to its view"
         KCanvasItem {rect} at (295,36) size 135x68 [fill={[type=SOLID] [color=#FF0000]}] [data="M295.00,36.00L430.00,36.00L430.00,104.00L295.00,104.00"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 63x18
+            text run at (0,0) width 63: "Rectangle"
         KCanvasItem {rect} at (291.50,28.50) size 142x92 [stroke={[type=SOLID] [color=#000000]}] [data="M292.00,29.00L433.00,29.00L433.00,120.00L292.00,120.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 116x13
+            text run at (0,0) width 116: "No view attributes except id."
         KCanvasItem {ellipse} at (298,219) size 144x64 [fill={[type=SOLID] [color=#0000FF]}] [data="M442.00,251.00L441.86,253.01L441.43,255.01L440.72,257.00L439.74,258.96L438.48,260.89L436.94,262.78L435.15,264.62L433.09,266.42L430.79,268.15L428.25,269.81L425.48,271.40L422.49,272.91L419.29,274.33L415.89,275.66L412.32,276.89L408.58,278.02L404.69,279.04L400.66,279.95L396.50,280.75L392.25,281.43L387.91,281.99L383.49,282.43L379.02,282.75L374.52,282.94L370.00,283.00L365.48,282.94L360.98,282.75L356.51,282.43L352.09,281.99L347.75,281.43L343.50,280.75L339.34,279.95L335.31,279.04L331.42,278.02L327.68,276.89L324.11,275.66L320.71,274.33L317.51,272.91L314.52,271.40L311.75,269.81L309.21,268.15L306.91,266.42L304.85,264.62L303.06,262.78L301.52,260.89L300.26,258.96L299.28,257.00L298.57,255.01L298.14,253.01L298.00,251.00L298.14,248.99L298.57,246.99L299.28,245.00L300.26,243.04L301.52,241.11L303.06,239.22L304.85,237.38L306.91,235.58L309.21,233.85L311.75,232.19L314.52,230.60L317.51,229.09L320.71,227.67L324.11,226.34L327.68,225.11L331.42,223.98L335.31,222.96L339.34,222.05L343.50,221.25L347.75,220.57L352.09,220.01L356.51,219.57L360.98,219.25L365.48,219.06L370.00,219.00L374.52,219.06L379.02,219.25L383.49,219.57L387.91,220.01L392.25,220.57L396.50,221.25L400.66,222.05L404.69,222.96L408.58,223.98L412.32,225.11L415.89,226.34L419.29,227.67L422.49,229.09L425.48,230.60L428.25,232.19L430.79,233.85L433.09,235.58L435.15,237.38L436.94,239.22L438.48,241.11L439.74,243.04L440.72,245.00L441.43,246.99L441.86,248.99"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 43x18
+            text run at (0,0) width 43: "Ellipse"
         KCanvasItem {rect} at (294.50,215.50) size 151x83 [stroke={[type=SOLID] [color=#000000]}] [data="M295.00,216.00L445.00,216.00L445.00,298.00L295.00,298.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 112x13
+            text run at (0,0) width 112: "viewBox, should fill frame."
         KCanvasItem {circle} at (49,32) size 72x72 [fill={[type=SOLID] [color=#FFFF00]}] [data="M121.00,68.00L120.93,70.26L120.72,72.51L120.36,74.75L119.87,76.95L119.24,79.12L118.47,81.25L117.57,83.33L116.55,85.34L115.40,87.29L114.12,89.16L112.74,90.95L111.24,92.64L109.64,94.24L107.95,95.74L106.16,97.12L104.29,98.40L102.34,99.55L100.33,100.57L98.25,101.47L96.12,102.24L93.95,102.87L91.75,103.36L89.51,103.72L87.26,103.93L85.00,104.00L82.74,103.93L80.49,103.72L78.25,103.36L76.05,102.87L73.88,102.24L71.75,101.47L69.67,100.57L67.66,99.55L65.71,98.40L63.84,97.12L62.05,95.74L60.36,94.24L58.76,92.64L57.26,90.95L55.88,89.16L54.60,87.29L53.45,85.34L52.43,83.33L51.53,81.25L50.76,79.12L50.13,76.95L49.64,74.75L49.28,72.51L49.07,70.26L49.00,68.00L49.07,65.74L49.28,63.49L49.64,61.25L50.13,59.05L50.76,56.88L51.53,54.75L52.43,52.67L53.45,50.66L54.60,48.71L55.88,46.84L57.26,45.05L58.76,43.36L60.36,41.76L62.05,40.26L63.84,38.88L65.71,37.60L67.66,36.45L69.67,35.43L71.75,34.53L73.88,33.76L76.05,33.13L78.25,32.64L80.49,32.28L82.74,32.07L85.00,32.00L87.26,32.07L89.51,32.28L91.75,32.64L93.95,33.13L96.12,33.76L98.25,34.53L100.33,35.43L102.34,36.45L104.29,37.60L106.16,38.88L107.95,40.26L109.64,41.76L111.24,43.36L112.74,45.05L114.12,46.84L115.40,48.71L116.55,50.66L117.57,52.67L118.47,54.75L119.24,56.88L119.87,59.05L120.36,61.25L120.72,63.49L120.93,65.74"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 38x18
+            text run at (0,0) width 38: "Circle"
         KCanvasItem {rect} at (35.50,28.50) size 99x92 [stroke={[type=SOLID] [color=#000000]}] [data="M36.00,29.00L134.00,29.00L134.00,120.00L36.00,120.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 100x13
+            text run at (0,0) width 100: "viewBox & non-uniform"
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 81x13
+            text run at (0,0) width 81: "preserveAspectRatio"
         KCanvasItem {polygon} at (39,211) size 95x72 [fill={[type=SOLID] [color=#008000]}] [data="M87.00,211.00L134.00,238.00L116.00,283.00L57.00,283.00L39.00,238.00L87.00,211.00"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 53x18
+            text run at (0,0) width 53: "Polygon"
         KCanvasItem {rect} at (35.50,207.50) size 101x90 [stroke={[type=SOLID] [color=#000000]}] [data="M36.00,208.00L136.00,208.00L136.00,297.00L36.00,297.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 77x13
+            text run at (0,0) width 77: "viewTarget, should"
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 73x13
+            text run at (0,0) width 73: "highlight polygon"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum
index 6f5c52b..fc2e69f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum
@@ -1 +1 @@
-7f5ae0888882a865546bc39e7dd497d3
\ No newline at end of file
+5d71a67a00905a7f3954e25e2a43e181
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png
index 38460e1..e15ce1d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt
index d9ffc8f..866087d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt
@@ -2,18 +2,75 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (35.50,28.50) size 410x270
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 300x14
+            text run at (0,0) width 300: "Link test of the 'view' element and its attributes, 2 of 2, external."
         KCanvasContainer {g} at (150,130) size 125x85 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,75.00)}]
           KCanvasItem {rect} at (150,130) size 125x85 [fill={[type=SOLID] [color=#AAAAAA]}] [data="M300.00,55.00L425.00,55.00L425.00,140.00L300.00,140.00"]
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 103x18
+                text run at (0,0) width 103: "Go to Rectangle"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 83x18
+                text run at (0,0) width 83: "Go to Ellipse"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 78x18
+                text run at (0,0) width 78: "Go to Circle"
           KCanvasContainer {a} at (-150,75) size 0x0
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 93x18
+                text run at (0,0) width 93: "Go to Polygon"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 91x14
+              text run at (0,0) width 91: "Click element's line"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 94x14
+              text run at (0,0) width 94: "to link to its view in"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 79x14
+              text run at (0,0) width 79: "linking-uri-01-b."
         KCanvasItem {rect} at (295,36) size 135x68 [fill={[type=SOLID] [color=#FF0000]}] [data="M295.00,36.00L430.00,36.00L430.00,104.00L295.00,104.00"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 63x18
+            text run at (0,0) width 63: "Rectangle"
         KCanvasItem {rect} at (291.50,28.50) size 142x92 [stroke={[type=SOLID] [color=#000000]}] [data="M292.00,29.00L433.00,29.00L433.00,120.00L292.00,120.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 116x13
+            text run at (0,0) width 116: "No view attributes except id."
         KCanvasItem {ellipse} at (298,219) size 144x64 [fill={[type=SOLID] [color=#0000FF]}] [data="M442.00,251.00L441.86,253.01L441.43,255.01L440.72,257.00L439.74,258.96L438.48,260.89L436.94,262.78L435.15,264.62L433.09,266.42L430.79,268.15L428.25,269.81L425.48,271.40L422.49,272.91L419.29,274.33L415.89,275.66L412.32,276.89L408.58,278.02L404.69,279.04L400.66,279.95L396.50,280.75L392.25,281.43L387.91,281.99L383.49,282.43L379.02,282.75L374.52,282.94L370.00,283.00L365.48,282.94L360.98,282.75L356.51,282.43L352.09,281.99L347.75,281.43L343.50,280.75L339.34,279.95L335.31,279.04L331.42,278.02L327.68,276.89L324.11,275.66L320.71,274.33L317.51,272.91L314.52,271.40L311.75,269.81L309.21,268.15L306.91,266.42L304.85,264.62L303.06,262.78L301.52,260.89L300.26,258.96L299.28,257.00L298.57,255.01L298.14,253.01L298.00,251.00L298.14,248.99L298.57,246.99L299.28,245.00L300.26,243.04L301.52,241.11L303.06,239.22L304.85,237.38L306.91,235.58L309.21,233.85L311.75,232.19L314.52,230.60L317.51,229.09L320.71,227.67L324.11,226.34L327.68,225.11L331.42,223.98L335.31,222.96L339.34,222.05L343.50,221.25L347.75,220.57L352.09,220.01L356.51,219.57L360.98,219.25L365.48,219.06L370.00,219.00L374.52,219.06L379.02,219.25L383.49,219.57L387.91,220.01L392.25,220.57L396.50,221.25L400.66,222.05L404.69,222.96L408.58,223.98L412.32,225.11L415.89,226.34L419.29,227.67L422.49,229.09L425.48,230.60L428.25,232.19L430.79,233.85L433.09,235.58L435.15,237.38L436.94,239.22L438.48,241.11L439.74,243.04L440.72,245.00L441.43,246.99L441.86,248.99"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 43x18
+            text run at (0,0) width 43: "Ellipse"
         KCanvasItem {rect} at (294.50,215.50) size 151x83 [stroke={[type=SOLID] [color=#000000]}] [data="M295.00,216.00L445.00,216.00L445.00,298.00L295.00,298.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 112x13
+            text run at (0,0) width 112: "viewBox, should fill frame."
         KCanvasItem {circle} at (49,32) size 72x72 [fill={[type=SOLID] [color=#FFFF00]}] [data="M121.00,68.00L120.93,70.26L120.72,72.51L120.36,74.75L119.87,76.95L119.24,79.12L118.47,81.25L117.57,83.33L116.55,85.34L115.40,87.29L114.12,89.16L112.74,90.95L111.24,92.64L109.64,94.24L107.95,95.74L106.16,97.12L104.29,98.40L102.34,99.55L100.33,100.57L98.25,101.47L96.12,102.24L93.95,102.87L91.75,103.36L89.51,103.72L87.26,103.93L85.00,104.00L82.74,103.93L80.49,103.72L78.25,103.36L76.05,102.87L73.88,102.24L71.75,101.47L69.67,100.57L67.66,99.55L65.71,98.40L63.84,97.12L62.05,95.74L60.36,94.24L58.76,92.64L57.26,90.95L55.88,89.16L54.60,87.29L53.45,85.34L52.43,83.33L51.53,81.25L50.76,79.12L50.13,76.95L49.64,74.75L49.28,72.51L49.07,70.26L49.00,68.00L49.07,65.74L49.28,63.49L49.64,61.25L50.13,59.05L50.76,56.88L51.53,54.75L52.43,52.67L53.45,50.66L54.60,48.71L55.88,46.84L57.26,45.05L58.76,43.36L60.36,41.76L62.05,40.26L63.84,38.88L65.71,37.60L67.66,36.45L69.67,35.43L71.75,34.53L73.88,33.76L76.05,33.13L78.25,32.64L80.49,32.28L82.74,32.07L85.00,32.00L87.26,32.07L89.51,32.28L91.75,32.64L93.95,33.13L96.12,33.76L98.25,34.53L100.33,35.43L102.34,36.45L104.29,37.60L106.16,38.88L107.95,40.26L109.64,41.76L111.24,43.36L112.74,45.05L114.12,46.84L115.40,48.71L116.55,50.66L117.57,52.67L118.47,54.75L119.24,56.88L119.87,59.05L120.36,61.25L120.72,63.49L120.93,65.74"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 38x18
+            text run at (0,0) width 38: "Circle"
         KCanvasItem {rect} at (35.50,28.50) size 99x92 [stroke={[type=SOLID] [color=#000000]}] [data="M36.00,29.00L134.00,29.00L134.00,120.00L36.00,120.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 100x13
+            text run at (0,0) width 100: "viewBox & non-uniform"
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 81x13
+            text run at (0,0) width 81: "preserveAspectRatio"
         KCanvasItem {polygon} at (39,211) size 95x72 [fill={[type=SOLID] [color=#008000]}] [data="M87.00,211.00L134.00,238.00L116.00,283.00L57.00,283.00L39.00,238.00L87.00,211.00"]
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 53x18
+            text run at (0,0) width 53: "Polygon"
         KCanvasItem {rect} at (35.50,207.50) size 101x90 [stroke={[type=SOLID] [color=#000000]}] [data="M36.00,208.00L136.00,208.00L136.00,297.00L36.00,297.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 77x13
+            text run at (0,0) width 77: "viewTarget, should"
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 73x13
+            text run at (0,0) width 73: "highlight polygon"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum
index a989667..caaa34b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum
@@ -1 +1 @@
-ce56fb7cc720cc49f13270bb61702e6a
\ No newline at end of file
+32ff108b1407ab07170089b94a88c43e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png
index eb906c3..cd09fdd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt
index 223803c..64add33 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt
@@ -2,7 +2,43 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (18.50,121.50) size 247.31x131.62
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 246x14
+            text run at (0,0) width 246: "Simple exercise of xlink attributes on the 'a' element."
         KCanvasContainer {a} at (134.19,121.50) size 131.62x131.62
           KCanvasItem {path} at (134.19,121.50) size 131.62x131.62 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M135.00,122.00L265.00,122.00L200.00,252.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 69x14
+            text run at (0,0) width 69: "Click for TOC"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 77x14
+            text run at (0,0) width 77: "Link to local file"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 81x14
+            text run at (0,0) width 81: "linkingToc-t.svg."
         KCanvasItem {rect} at (18.50,159.50) size 101x27 [stroke={[type=SOLID] [color=#000000]}] [data="M19.00,160.00L119.00,160.00L119.00,186.00L19.00,186.00"]
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 82x13
+            text run at (0,0) width 82: "xlink:type=\"simple\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 86x13
+            text run at (0,0) width 86: "xlink:show=\"replace\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 107x13
+            text run at (0,0) width 107: "xlink:actuate=\"onRequest\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 120x13
+            text run at (0,0) width 120: "xlink:href=\"linkingToc-t.svg\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 117x13
+            text run at (0,0) width 117: "xlink:role=\"figure-out-a-role\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 160x13
+            text run at (0,0) width 160: "xlink:title=\"TOC of Linking BE tests.\""
+        RenderSVGText {text} at (0,0) size 465x13
+          RenderText {TEXT} at (0,0) size 55x13
+            text run at (0,0) width 55: "target=\"_self\""
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum
index ae2b907..14ceb54 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum
@@ -1 +1 @@
-9427658c6813b942a457794985939fb2
\ No newline at end of file
+9fc8a67c3e158d424e89843fb6f8b1b0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png
index a1c12bc..13ae8fd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt
index 1a42d05..f4e5c3d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt
@@ -6,17 +6,44 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,30) size 250x270
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 139x16
+            text run at (0,0) width 139: "Test for mask support"
         KCanvasItem {rect} at (10,30) size 100x260 [fill={[type=SOLID] [color=#FF0000]}] [data="M10.00,30.00L110.00,30.00L110.00,290.00L10.00,290.00"]
         KCanvasContainer {mask} at (60,50) size 100x60
           KCanvasItem {rect} at (60,50) size 100x60 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(60,50)] [end=(60,120)]}] [data="M60.00,50.00L160.00,50.00L160.00,110.00L60.00,110.00"]
         KCanvasItem {rect} at (60,50) size 100x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M60.00,50.00L160.00,50.00L160.00,110.00L60.00,110.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 163x14
+            text run at (0,0) width 163: "Mask with linear gradient from"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 135x14
+            text run at (0,0) width 135: "opacity=1 to opactity=0.5"
         KCanvasContainer {mask} at (60,120) size 100x30
           KCanvasItem {rect} at (60,120) size 100x30 [fill={[type=SOLID] [color=#FFFFFF] [opacity=0.50]}] [data="M60.00,120.00L160.00,120.00L160.00,150.00L60.00,150.00"]
         KCanvasItem {rect} at (60,120) size 100x30 [fill={[type=SOLID] [color=#00FF00]}] [data="M60.00,120.00L160.00,120.00L160.00,150.00L60.00,150.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 173x14
+            text run at (0,0) width 173: "Mask with uniform opacity of 0.5"
         KCanvasItem {rect} at (60,160) size 100x30 [fill={[type=SOLID] [color=#00FF00] [opacity=0.50]}] [data="M60.00,160.00L160.00,160.00L160.00,190.00L60.00,190.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 200x14
+            text run at (0,0) width 200: "Rectangle with uniform opacity of 0.5"
         KCanvasContainer {mask} at (60,200) size 200x100
           KCanvasItem {rect} at (60,200) size 200x25 [fill={[type=SOLID] [color=#FFFFFF] [opacity=0.50]}] [data="M60.00,200.00L260.00,200.00L260.00,225.00L60.00,225.00"]
           KCanvasItem {rect} at (60,225) size 200x25 [fill={[type=SOLID] [color=#FFFFFF] [opacity=0.20]}] [data="M60.00,225.00L260.00,225.00L260.00,250.00L60.00,250.00"]
           KCanvasItem {rect} at (60,250) size 200x25 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M60.00,250.00L260.00,250.00L260.00,275.00L60.00,275.00"]
           KCanvasItem {rect} at (60,275) size 200x25 [fill={[type=SOLID] [color=#FFFFFF] [opacity=0.70]}] [data="M60.00,275.00L260.00,275.00L260.00,300.00L60.00,300.00"]
+        RenderSVGText {text} at (0,0) size 465x127
+          RenderText {TEXT} at (0,0) size 232x127
+            text run at (0,0) width 232: "SVG"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 200x14
+            text run at (0,0) width 200: "Text with mask containing rectangles"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 105x14
+            text run at (0,0) width 105: "of various opacities"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum
index 0772d6d..58fe416 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum
@@ -1 +1 @@
-5c0534605bbe05e0ae42f8a265e11729
\ No newline at end of file
+3cea6f7a3f194aaddf538d25ff807635
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png
index aa18e84..20fa3ec 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt
index 3afbf08..c639126 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt
@@ -2,17 +2,59 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,30) size 140x260
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 385x28
+            text run at (0,0) width 385: "Test for opacity property on a group."
         KCanvasItem {rect} at (10,30) size 100x260 [fill={[type=SOLID] [color=#FF0000]}] [data="M10.00,30.00L110.00,30.00L110.00,290.00L10.00,290.00"]
         KCanvasContainer {g} at (60,50) size 90x50
           KCanvasItem {rect} at (60,50) size 80x40 [fill={[type=SOLID] [color=#0000FF]}] [data="M60.00,50.00L140.00,50.00L140.00,90.00L60.00,90.00"]
           KCanvasItem {rect} at (70,60) size 80x40 [fill={[type=SOLID] [color=#00FF00]}] [data="M70.00,60.00L150.00,60.00L150.00,100.00L70.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 148x23
+            text run at (0,0) width 148: "Group opacity: 1"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 219x23
+            text run at (0,0) width 219: "Blue rectangle opacity: 1"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 236x23
+            text run at (0,0) width 236: "Green rectangle opacity: 1"
         KCanvasContainer {g} at (60,110) size 90x50 [opacity=0.50]
           KCanvasItem {rect} at (60,110) size 80x40 [fill={[type=SOLID] [color=#0000FF]}] [data="M60.00,110.00L140.00,110.00L140.00,150.00L60.00,150.00"]
           KCanvasItem {rect} at (70,120) size 80x40 [fill={[type=SOLID] [color=#00FF00]}] [data="M70.00,120.00L150.00,120.00L150.00,160.00L70.00,160.00"]
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 165x23
+            text run at (0,0) width 165: "Group opacity: 0.5"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 219x23
+            text run at (0,0) width 219: "Blue rectangle opacity: 1"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 236x23
+            text run at (0,0) width 236: "Green rectangle opacity: 1"
         KCanvasContainer {g} at (60,170) size 90x50
           KCanvasItem {rect} at (60,170) size 80x40 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M60.00,170.00L140.00,170.00L140.00,210.00L60.00,210.00"]
           KCanvasItem {rect} at (70,180) size 80x40 [opacity=0.50] [fill={[type=SOLID] [color=#00FF00]}] [data="M70.00,180.00L150.00,180.00L150.00,220.00L70.00,220.00"]
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 148x23
+            text run at (0,0) width 148: "Group opacity: 1"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 236x23
+            text run at (0,0) width 236: "Blue rectangle opacity: 0.5"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 253x23
+            text run at (0,0) width 253: "Green rectangle opacity: 0.5"
         KCanvasContainer {g} at (60,230) size 90x50 [opacity=0.50]
           KCanvasItem {rect} at (60,230) size 80x40 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M60.00,230.00L140.00,230.00L140.00,270.00L60.00,270.00"]
           KCanvasItem {rect} at (70,240) size 80x40 [opacity=0.50] [fill={[type=SOLID] [color=#00FF00]}] [data="M70.00,240.00L150.00,240.00L150.00,280.00L70.00,280.00"]
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 165x23
+            text run at (0,0) width 165: "Group opacity: 0.5"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 236x23
+            text run at (0,0) width 236: "Blue rectangle opacity: 0.5"
+        RenderSVGText {text} at (0,0) size 465x23
+          RenderText {TEXT} at (0,0) size 253x23
+            text run at (0,0) width 253: "Green rectangle opacity: 0.5"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum
index 8528930..95b24a6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum
@@ -1 +1 @@
-608ac5e94e74db4ef317427d61d56961
\ No newline at end of file
+0938411100fe0e49f8a45a98db6d8f24
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.png
index 7a4ea56..2393b8c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
index db7172f..cb64a63 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
@@ -5,7 +5,19 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (17.50,17.50) size 445x265
         KCanvasItem {rect} at (17.50,17.50) size 445x65 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FF0000]}] [clip path="#clip1"] [data="M20.00,20.00L460.00,20.00L460.00,80.00L20.00,80.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 325x34
+            text run at (0,0) width 325: "Rectangle being clipped"
         KCanvasContainer {g} at (112.50,187.50) size 230x95 [clip path="#clip2"]
           KCanvasItem {rect} at (112.50,187.50) size 230x45 [stroke={[type=SOLID] [color=#0000FF] [stroke width=5.00]}] [fill={[type=SOLID] [color=#00FFFF]}] [data="M115.00,190.00L340.00,190.00L340.00,230.00L115.00,230.00"]
           KCanvasItem {rect} at (112.50,237.50) size 230x45 [stroke={[type=SOLID] [color=#008000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M115.00,240.00L340.00,240.00L340.00,280.00L115.00,280.00"]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 327x34
+              text run at (0,0) width 327: "Line of text to be clipped"
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 272x34
+            text run at (0,0) width 272: "Group being clipped"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum
index 52e120d..717c8a2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.checksum
@@ -1 +1 @@
-3b1d206ebb210e0cadea750a567aab60
\ No newline at end of file
+8ebab8cf06951e297e634c5792837af9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.png
index df9d9b5..86a7be9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
index ac93a31..4a1c65d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
@@ -5,5 +5,14 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,10) size 430x274.85
         KCanvasItem {rect} at (10,10) size 430x80 [fill={[type=SOLID] [color=#FF0000]}] [clip path="#clip1"] [data="M10.00,10.00L440.00,10.00L440.00,90.00L10.00,90.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 457x34
+            text run at (0,0) width 457: "clipPathUnits=objectBoundingBox"
         KCanvasItem {rect} at (100,115.15) size 169.71x169.71 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(100.00,200.00)}] [fill={[type=SOLID] [color=#0000FF]}] [clip path="#clip2"] [data="M0.00,0.00L120.00,0.00L120.00,120.00L0.00,120.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 434x34
+            text run at (0,0) width 434: "clipPathUnits=userSpaceOnUse"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum
index 6e4129f..754c570 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.checksum
@@ -1 +1 @@
-107811224b2b9c81b89f072008ccbe23
\ No newline at end of file
+7965b0148cfc9cf7d0844987c256957b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.png
index c485e7f..0b91402 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt
index 15ffc9c..7901a91 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt
@@ -2,24 +2,54 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-176,-21) size 832x412
       KCanvasContainer {g} at (-176,-21) size 832x412
+        RenderSVGText {text} at (0,0) size 465x21
+          RenderText {TEXT} at (0,0) size 458x21
+            text run at (0,0) width 458: "Test 'overflow'/'clip' on outermost and inner 'svg' elements"
         KCanvasContainer {g} at (-176,-21) size 832x412
           KCanvasContainer {g} at (114,-21) size 252x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(115.00,-20.00)}]
             KCanvasItem {rect} at (114,-21) size 252x62 [stroke={[type=SOLID] [color=#FF8888] [stroke width=2.00]}] [fill={[type=SOLID] [color=#CCCCFF]}] [data="M0.00,0.00L250.00,0.00L250.00,60.00L0.00,60.00"]
+            RenderSVGText {text} at (0,0) size 465x55
+              RenderText {TEXT} at (0,1) size 217x55
+                text run at (0,1) width 217: "Outer Clip"
           KCanvasContainer {g} at (-176,149) size 252x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-175.00,150.00)}]
             KCanvasItem {rect} at (-176,149) size 252x62 [stroke={[type=SOLID] [color=#FF8888] [stroke width=2.00]}] [fill={[type=SOLID] [color=#CCCCFF]}] [data="M0.00,0.00L250.00,0.00L250.00,60.00L0.00,60.00"]
+            RenderSVGText {text} at (0,0) size 465x55
+              RenderText {TEXT} at (0,1) size 217x55
+                text run at (0,1) width 217: "Outer Clip"
           KCanvasContainer {g} at (404,149) size 252x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(405.00,150.00)}]
             KCanvasItem {rect} at (404,149) size 252x62 [stroke={[type=SOLID] [color=#FF8888] [stroke width=2.00]}] [fill={[type=SOLID] [color=#CCCCFF]}] [data="M0.00,0.00L250.00,0.00L250.00,60.00L0.00,60.00"]
+            RenderSVGText {text} at (0,0) size 465x55
+              RenderText {TEXT} at (0,1) size 217x55
+                text run at (0,1) width 217: "Outer Clip"
           KCanvasContainer {g} at (114,329) size 252x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(115.00,330.00)}]
             KCanvasItem {rect} at (114,329) size 252x62 [stroke={[type=SOLID] [color=#FF8888] [stroke width=2.00]}] [fill={[type=SOLID] [color=#CCCCFF]}] [data="M0.00,0.00L250.00,0.00L250.00,60.00L0.00,60.00"]
+            RenderSVGText {text} at (0,0) size 465x55
+              RenderText {TEXT} at (0,1) size 217x55
+                text run at (0,1) width 217: "Outer Clip"
         KCanvasItem {rect} at (112.50,97.50) size 255x165 [stroke={[type=SOLID] [color=#006600] [stroke width=5.00]}] [data="M115.00,100.00L365.00,100.00L365.00,260.00L115.00,260.00"]
         KCanvasContainer {svg} at (-51,-16) size 352x192
           KCanvasContainer {g} at (-51,-16) size 352x192
             KCanvasContainer {g} at (49,-16) size 152x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,-15.00)}]
               KCanvasItem {rect} at (49,-16) size 152x37 [stroke={[type=SOLID] [color=#6666FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFAAAA]}] [data="M0.00,0.00L150.00,0.00L150.00,35.00L0.00,35.00"]
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 138x37
+                  text run at (0,0) width 138: "Inner Clip"
             KCanvasContainer {g} at (-51,61.50) size 152x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-50.00,62.50)}]
               KCanvasItem {rect} at (-51,61.50) size 152x37 [stroke={[type=SOLID] [color=#6666FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFAAAA]}] [data="M0.00,0.00L150.00,0.00L150.00,35.00L0.00,35.00"]
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 138x37
+                  text run at (0,0) width 138: "Inner Clip"
             KCanvasContainer {g} at (149,61.50) size 152x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,62.50)}]
               KCanvasItem {rect} at (149,61.50) size 152x37 [stroke={[type=SOLID] [color=#6666FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFAAAA]}] [data="M0.00,0.00L150.00,0.00L150.00,35.00L0.00,35.00"]
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 138x37
+                  text run at (0,0) width 138: "Inner Clip"
             KCanvasContainer {g} at (49,139) size 152x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,140.00)}]
               KCanvasItem {rect} at (49,139) size 152x37 [stroke={[type=SOLID] [color=#6666FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFAAAA]}] [data="M0.00,0.00L150.00,0.00L150.00,35.00L0.00,35.00"]
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 138x37
+                  text run at (0,0) width 138: "Inner Clip"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum
index 44d21f9..223d781 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum
@@ -1 +1 @@
-7d3cac56f4ca357867a9142bbf365b1b
\ No newline at end of file
+8fdb6a03de38da1bf27d04cc718466fd
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.png
index cf251d1..eee0375 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
index 1e7cf08..d1c7d2b8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
@@ -5,6 +5,12 @@
       KCanvasContainer {g} at (20,20) size 420x310
         KCanvasContainer {g} at (30,20) size 410x140
           KCanvasItem {image} at (30,20) size 410x140 [fill={[type=IMAGE] [bounding box=at (0,0) size 410x160]}] [data="M30.00,20.00L440.00,20.00L440.00,160.00L30.00,160.00"]
+          RenderSVGText {text} at (0,0) size 465x122
+            RenderText {TEXT} at (0,0) size 353x122
+              text run at (0,0) width 353: "Clip Test"
         KCanvasContainer {g} at (20,170) size 410x160
           KCanvasItem {image} at (20,170) size 410x160 [fill={[type=IMAGE] [bounding box=at (0,0) size 410x160]}] [clip path="#sample"] [data="M20.00,170.00L430.00,170.00L430.00,330.00L20.00,330.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum
index 0784797..e09fd02 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.checksum
@@ -1 +1 @@
-d1f3620385d571507c8ea8b7f43a8303
\ No newline at end of file
+f79c48c0d11d798e2059c5061cc54cb4
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.png
index ae36b41..74ded3b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
index 39e487c..320ae0d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
@@ -4,6 +4,18 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (50,30) size 350x230
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 164x16
+            text run at (0,0) width 164: "Test for clip-rule property."
         KCanvasItem {rect} at (50,30) size 350x100 [fill={[type=SOLID] [color=#FF0000]}] [clip path="#clip1"] [data="M50.00,30.00L400.00,30.00L400.00,130.00L50.00,130.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 99x14
+            text run at (0,0) width 99: "clip-rule=evenodd"
         KCanvasItem {rect} at (50,160) size 350x100 [fill={[type=SOLID] [color=#0000FF]}] [clip path="#clip2"] [data="M50.00,160.00L400.00,160.00L400.00,260.00L50.00,260.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 92x14
+            text run at (0,0) width 92: "cliprule=nonzero"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum
index dafcb13..5b96baf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum
@@ -1 +1 @@
-3ca6a7211cea7c0911b1ec6fec1a0e06
\ No newline at end of file
+606fbe4400a34a8fe0b8e0a094434fc0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png
index 42647e7..d57573d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
index 76febb4..5178a54 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
@@ -63,5 +63,41 @@
             KCanvasItem {polygon} at (186.97,57.98) size 0.65x0.65 [fill={[type=SOLID] [color=#5A59CE]}] [data="M511.00,264.00L503.00,268.00L503.00,260.00"]
             KCanvasItem {polygon} at (193.18,58.90) size 0.70x0.67 [fill={[type=SOLID] [color=#5A59CE]}] [data="M597.00,324.00L590.00,329.00L588.00,321.00"]
           KCanvasContainer {g} at (153,58) size 0x0
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 316x12
+                text run at (0,0) width 316: "http://prismstandard.org/vocabularies/1.0/resourcetype.xml#birdsEye"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 322x12
+                text run at (0,0) width 322: "http://prismstandard.org/vocabularies/1.0/resourcetype.xml#illustration"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 68x12
+                text run at (0,0) width 68: "image/svg+xml"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 197x12
+                text run at (0,0) width 197: "Line drawing of woman in antique attire, ..."
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 31x12
+                text run at (0,0) width 31: "online:"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 74x12
+                text run at (0,0) width 74: "Sibyll Trelawney"
           KCanvasContainer {g} at (153,58) size 0x0
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 162x12
+                text run at (0,0) width 162: "http://purl.org/dc/elements/1.1/type"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 171x12
+                text run at (0,0) width 171: "http://purl.org/dc/elements/1.1/format"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 175x12
+                text run at (0,0) width 175: "http://purl.org/dc/elements/1.1/subject"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 162x12
+                text run at (0,0) width 162: "http://purl.org/dc/elements/1.1/type"
+            RenderSVGText {text} at (0,0) size 465x12
+              RenderText {TEXT} at (0,0) size 192x12
+                text run at (0,0) width 192: "http://purl.org/dc/elements/1.1/description"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum
index d2f2cdc..c9f06ad 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.checksum
@@ -1 +1 @@
-f7b1964085e490b7e437ab2e9abd8db5
\ No newline at end of file
+105f49f5432ddd1b5b19aba5fdd98a92
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png
index a6391eb..7c13873 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt
index b45c596..d6e1b14 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt
@@ -2,6 +2,18 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (74.50,69.50) size 301x161
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 410x42
+            text run at (0,0) width 410: "Basic paint: fill properties."
         KCanvasItem {rect} at (74.50,69.50) size 101x161 [stroke={[type=SOLID] [color=#000000]}] [data="M75.00,70.00L175.00,70.00L175.00,230.00L75.00,230.00"]
         KCanvasItem {rect} at (274.50,69.50) size 101x161 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M275.00,70.00L375.00,70.00L375.00,230.00L275.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 124x42
+            text run at (0,0) width 124: "fill:none"
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 96x42
+            text run at (0,0) width 96: "fill:red"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum
index afc0a53..49affdb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.checksum
@@ -1 +1 @@
-566f82721be6f557e6bef0b9d2c7aa72
\ No newline at end of file
+a50937416a10c9a1d41de5447cedaad1
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png
index 8667f9a..43d2945 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt
index b988c7b..8e6504a45 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt
@@ -2,6 +2,21 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (74.50,109.50) size 301x141
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 410x42
+            text run at (0,0) width 410: "Basic paint: fill properties."
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 279x42
+            text run at (0,0) width 279: "fill=\"currentColor\""
         KCanvasItem {rect} at (74.50,109.50) size 101x141 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [data="M75.00,110.00L175.00,110.00L175.00,250.00L75.00,250.00"]
         KCanvasItem {rect} at (274.50,109.50) size 101x141 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M275.00,110.00L375.00,110.00L375.00,250.00L275.00,250.00"]
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 92x42
+            text run at (0,0) width 92: "green"
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 68x42
+            text run at (0,0) width 68: "blue"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum
index 4d5bf5a..e78dc17 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.checksum
@@ -1 +1 @@
-6da84b7e909121de66653b6d4f2d68e9
\ No newline at end of file
+200ef38a2166715b5e9de5e82cc549f7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png
index 5968c6f..f208ee3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt
index 32a48cb..5fbac8b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt
@@ -2,6 +2,18 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (30,75) size 415x160
+        RenderSVGText {text} at (0,0) size 465x42
+          RenderText {TEXT} at (0,0) size 410x42
+            text run at (0,0) width 410: "Basic paint: fill properties."
         KCanvasItem {path} at (30,75) size 160x160 [fill={[type=SOLID] [color=#FF0000] [fill rule=EVEN-ODD]}] [data="M110.00,75.00L160.00,235.00L30.00,135.00L190.00,135.00L60.00,235.00"]
         KCanvasItem {path} at (285,75) size 160x160 [fill={[type=SOLID] [color=#FF0000]}] [data="M365.00,75.00L415.00,235.00L285.00,135.00L445.00,135.00L315.00,235.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 215x34
+            text run at (0,0) width 215: "fill-rule:evenodd"
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 208x34
+            text run at (0,0) width 208: "fill-rule:nonzero"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum
index 6f88738..3e3c3a6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.checksum
@@ -1 +1 @@
-a5e9933d6c44d5fab2f72a0015735e18
\ No newline at end of file
+ca53cd93dbe4ae90a79801442b8840e6
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png
index baae657..5b8330f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt
index 5c25075..11d222d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt
@@ -10,4 +10,7 @@
           KCanvasContainer {g} at (117.50,187.50) size 195x75
             KCanvasItem {rect} at (117.50,187.50) size 95x75 [stroke={[type=SOLID] [color=#FF0000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M0.00,160.00L90.00,160.00L90.00,230.00L0.00,230.00"]
             KCanvasItem {rect} at (217.50,187.50) size 95x75 [stroke={[type=SOLID] [color=#FF0000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M100.00,160.00L190.00,160.00L190.00,230.00L100.00,230.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum
index c1f64e9..7a70ebe 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.checksum
@@ -1 +1 @@
-aa6872f7282a6017f6c979dd95f0629c
\ No newline at end of file
+fee9e276e253a1bbd5a747395b5fa33f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png
index b4eac67..ef0a9ce 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
index 462074b..aecdda8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
@@ -17,6 +17,9 @@
           KCanvasItem {circle} at (0,0) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,5.00L9.99,5.31L9.96,5.63L9.91,5.94L9.84,6.24L9.76,6.55L9.65,6.84L9.52,7.13L9.38,7.41L9.22,7.68L9.05,7.94L8.85,8.19L8.64,8.42L8.42,8.64L8.19,8.85L7.94,9.05L7.68,9.22L7.41,9.38L7.13,9.52L6.84,9.65L6.55,9.76L6.24,9.84L5.94,9.91L5.63,9.96L5.31,9.99L5.00,10.00L4.69,9.99L4.37,9.96L4.06,9.91L3.76,9.84L3.45,9.76L3.16,9.65L2.87,9.52L2.59,9.38L2.32,9.22L2.06,9.05L1.81,8.85L1.58,8.64L1.36,8.42L1.15,8.19L0.95,7.94L0.78,7.68L0.62,7.41L0.48,7.13L0.35,6.84L0.24,6.55L0.16,6.24L0.09,5.94L0.04,5.63L0.01,5.31L0.00,5.00L0.01,4.69L0.04,4.37L0.09,4.06L0.16,3.76L0.24,3.45L0.35,3.16L0.48,2.87L0.62,2.59L0.78,2.32L0.95,2.06L1.15,1.81L1.36,1.58L1.58,1.36L1.81,1.15L2.06,0.95L2.32,0.78L2.59,0.62L2.87,0.48L3.16,0.35L3.45,0.24L3.76,0.16L4.06,0.09L4.37,0.04L4.69,0.01L5.00,0.00L5.31,0.01L5.63,0.04L5.94,0.09L6.24,0.16L6.55,0.24L6.84,0.35L7.13,0.48L7.41,0.62L7.68,0.78L7.94,0.95L8.19,1.15L8.42,1.36L8.64,1.58L8.85,1.81L9.05,2.06L9.22,2.32L9.38,2.59L9.52,2.87L9.65,3.16L9.76,3.45L9.84,3.76L9.91,4.06L9.96,4.37L9.99,4.69"]
         KCanvasContainer {marker} at (0,0) size 10x10
           KCanvasItem {path} at (0,0) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00L10.00,10.00L0.00,10.00"]
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 90x16
+            text run at (0,0) width 90: "Basic Markers"
         KCanvasItem {path} at (130,36) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=#marker1] [middle marker=#marker1] [end marker=#marker1] [data="M130.00,40.00L180.00,40.00L180.00,90.00"]
         KCanvasContainer {g} at (242,32) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
           KCanvasItem {path} at (250,36) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M130.00,40.00L180.00,40.00L180.00,90.00"]
@@ -26,6 +29,9 @@
             KCanvasItem {rect} at (364,32) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasContainer {g} at (364,82) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,82.00)}]
             KCanvasItem {rect} at (364,82) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 137x16
+            text run at (0,0) width 137: "Start, Middle and End"
         KCanvasItem {path} at (130,131) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=#markerStart] [middle marker=#markerMiddle] [end marker=#markerEnd] [data="M130.00,135.00L180.00,135.00L180.00,185.00"]
         KCanvasContainer {g} at (242,127) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
           KCanvasItem {path} at (250,131) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M130.00,135.00L180.00,135.00L180.00,185.00"]
@@ -35,6 +41,9 @@
             KCanvasItem {circle} at (364,127) size 16x16 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,5.00L9.99,5.31L9.96,5.63L9.91,5.94L9.84,6.24L9.76,6.55L9.65,6.84L9.52,7.13L9.38,7.41L9.22,7.68L9.05,7.94L8.85,8.19L8.64,8.42L8.42,8.64L8.19,8.85L7.94,9.05L7.68,9.22L7.41,9.38L7.13,9.52L6.84,9.65L6.55,9.76L6.24,9.84L5.94,9.91L5.63,9.96L5.31,9.99L5.00,10.00L4.69,9.99L4.37,9.96L4.06,9.91L3.76,9.84L3.45,9.76L3.16,9.65L2.87,9.52L2.59,9.38L2.32,9.22L2.06,9.05L1.81,8.85L1.58,8.64L1.36,8.42L1.15,8.19L0.95,7.94L0.78,7.68L0.62,7.41L0.48,7.13L0.35,6.84L0.24,6.55L0.16,6.24L0.09,5.94L0.04,5.63L0.01,5.31L0.00,5.00L0.01,4.69L0.04,4.37L0.09,4.06L0.16,3.76L0.24,3.45L0.35,3.16L0.48,2.87L0.62,2.59L0.78,2.32L0.95,2.06L1.15,1.81L1.36,1.58L1.58,1.36L1.81,1.15L2.06,0.95L2.32,0.78L2.59,0.62L2.87,0.48L3.16,0.35L3.45,0.24L3.76,0.16L4.06,0.09L4.37,0.04L4.69,0.01L5.00,0.00L5.31,0.01L5.63,0.04L5.94,0.09L6.24,0.16L6.55,0.24L6.84,0.35L7.13,0.48L7.41,0.62L7.68,0.78L7.94,0.95L8.19,1.15L8.42,1.36L8.64,1.58L8.85,1.81L9.05,2.06L9.22,2.32L9.38,2.59L9.52,2.87L9.65,3.16L9.76,3.45L9.84,3.76L9.91,4.06L9.96,4.37L9.99,4.69"]
           KCanvasContainer {g} at (364,177) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,177.00)}]
             KCanvasItem {path} at (364,177) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00L10.00,10.00L0.00,10.00"]
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 137x16
+            text run at (0,0) width 137: "Automatic Orientation"
         KCanvasItem {path} at (130,226) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=#marker2] [middle marker=#marker2] [end marker=#marker2] [data="M130.00,230.00L180.00,230.00L180.00,280.00"]
         KCanvasContainer {g} at (242,218.69) size 69.31x69.31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
           KCanvasItem {path} at (250,226) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M130.00,230.00L180.00,230.00L180.00,280.00"]
@@ -44,4 +53,7 @@
             KCanvasItem {path} at (304.45,354.45) size 22.63x22.63 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasContainer {g} at (172.00,464) size 16x16 [transform={m=((-0.00,1.60)(-1.60,-0.00)) t=(188.00,272.00)}]
             KCanvasItem {path} at (172.00,464) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00L10.00,10.00L0.00,10.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum
index 50cc38c..dadae3d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.checksum
@@ -1 +1 @@
-c623117024750093bb79d66bdbda4cff
\ No newline at end of file
+ddf515a85cf3279f61699a1200bfcad6
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png
index 53b2fc2..a8413c9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
index 05e477e5..d142fc8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
@@ -8,9 +8,15 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-4,-4) size 483.50x363.50
       KCanvasContainer {g} at (-4,-4) size 455.20x255.20
+        RenderSVGText {text} at (0,0) size 465x16
+          RenderText {TEXT} at (0,0) size 184x16
+            text run at (0,0) width 184: "Marker Rendering Properties"
         KCanvasContainer {g} at (0,0) size 208x118
           KCanvasContainer {marker} at (0,0) size 10x10
             KCanvasItem {rect} at (0,0) size 10x10 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
+          RenderSVGText {text} at (0,0) size 465x11
+            RenderText {TEXT} at (0,0) size 54x11
+              text run at (0,0) width 54: "Fill Property"
           KCanvasItem {path} at (30,60) size 50x50 [fill={[type=SOLID] [color=#000000]}] [start marker=#marker1] [middle marker=#marker1] [end marker=#marker1] [data="M30.00,60.00L80.00,60.00L80.00,110.00"]
           KCanvasContainer {g} at (142,52) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
             KCanvasItem {path} at (150,60) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M30.00,60.00L80.00,60.00L80.00,110.00"]
@@ -29,6 +35,9 @@
         KCanvasContainer {g} at (-2,-2) size 451.60x121.60
           KCanvasContainer {marker} at (-2,-2) size 24x24
             KCanvasItem {rect} at (-2,-2) size 24x24 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [data="M0.00,0.00L20.00,0.00L20.00,20.00L0.00,20.00"]
+          RenderSVGText {text} at (0,0) size 465x11
+            RenderText {TEXT} at (0,0) size 72x11
+              text run at (0,0) width 72: "Stroke Property"
           KCanvasItem {path} at (265.17,58) size 56.83x56.83 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [start marker=#marker2] [middle marker=#marker2] [end marker=#marker2] [data="M270.00,60.00L320.00,60.00L320.00,110.00"]
           KCanvasContainer {g} at (380.40,50.40) size 69.20x69.20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
             KCanvasItem {path} at (385.17,58) size 56.83x56.83 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [data="M270.00,60.00L320.00,60.00L320.00,110.00"]
@@ -50,6 +59,9 @@
           KCanvasContainer {marker} at (-2,-2) size 14x14
             KCanvasItem {rect} at (-2,-2) size 14x14 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
         KCanvasContainer {g} at (25.17,178.80) size 186.03x72.40
+          RenderSVGText {text} at (0,0) size 465x11
+            RenderText {TEXT} at (0,0) size 77x11
+              text run at (0,0) width 77: "Mixed Properties"
           KCanvasItem {path} at (25.17,188) size 56.83x56.83 [stroke={[type=SOLID] [color=#800080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [start marker=#marker3] [middle marker=#marker3] [end marker=#marker3] [data="M30.00,190.00L80.00,190.00L80.00,240.00"]
           KCanvasContainer {g} at (138.80,178.80) size 72.40x72.40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
             KCanvasItem {path} at (145.17,188) size 56.83x56.83 [stroke={[type=SOLID] [color=#800080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M30.00,190.00L80.00,190.00L80.00,240.00"]
@@ -67,6 +79,9 @@
                   KCanvasContainer {g} at (107.20,43.20) size 22.40x22.40 [transform={m=((0.20,0.00)(0.00,0.20)) t=(0.00,0.00)}]
                     KCanvasItem {rect} at (107.20,43.20) size 22.40x22.40 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00L20.00,0.00L20.00,20.00L0.00,20.00"]
         KCanvasContainer {g} at (265.17,178.80) size 186.03x72.40
+          RenderSVGText {text} at (0,0) size 465x11
+            RenderText {TEXT} at (0,0) size 77x11
+              text run at (0,0) width 77: "Mixed Properties"
           KCanvasItem {path} at (265.17,188) size 56.83x56.83 [stroke={[type=SOLID] [color=#800080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [start marker=#marker4] [middle marker=#marker4] [end marker=#marker4] [data="M270.00,190.00L320.00,190.00L320.00,240.00"]
           KCanvasContainer {g} at (378.80,178.80) size 72.40x72.40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
             KCanvasItem {path} at (385.17,188) size 56.83x56.83 [stroke={[type=SOLID] [color=#800080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M270.00,190.00L320.00,190.00L320.00,240.00"]
@@ -83,4 +98,7 @@
                 KCanvasContainer {g} at (788.80,228.80) size 22.40x22.40 [clip path="#overflowHiddenClip"]
                   KCanvasContainer {g} at (313.60,89.60) size 22.40x22.40 [transform={m=((0.40,0.00)(0.00,0.40)) t=(0.00,0.00)}]
                     KCanvasItem {rect} at (313.60,89.60) size 22.40x22.40 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum
index 4a53ad1..3d3c2f5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.checksum
@@ -1 +1 @@
-431fa69c74db6c3321926c8cc24f311a
\ No newline at end of file
+87e832a85a7afae2ce52071d62feb59d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.png
index aa33925..7d39830 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt
index 2b15edea..62b82ea 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt
@@ -5,6 +5,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (36.50,66.50) size 307.00x214.00
+        RenderSVGText {text} at (0,0) size 465x27
+          RenderText {TEXT} at (0,0) size 454x27
+            text run at (0,0) width 454: "Basic test of color-interpolation property."
         KCanvasContainer {g} at (36.50,66.50) size 307.00x54.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,80.00)}]
           KCanvasItem {rect} at (39.50,79.50) size 301x41 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M0.00,0.00L300.00,0.00L300.00,40.00L0.00,40.00"]
           KCanvasItem {circle} at (36.50,66.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M3.00,-10.00L2.99,-9.81L2.98,-9.62L2.95,-9.44L2.91,-9.25L2.85,-9.07L2.79,-8.90L2.71,-8.72L2.63,-8.55L2.53,-8.39L2.43,-8.24L2.31,-8.09L2.19,-7.95L2.05,-7.81L1.91,-7.69L1.76,-7.57L1.61,-7.47L1.45,-7.37L1.28,-7.29L1.10,-7.21L0.93,-7.15L0.75,-7.09L0.56,-7.05L0.38,-7.02L0.19,-7.01L0.00,-7.00L-0.19,-7.01L-0.38,-7.02L-0.56,-7.05L-0.75,-7.09L-0.93,-7.15L-1.10,-7.21L-1.28,-7.29L-1.45,-7.37L-1.61,-7.47L-1.76,-7.57L-1.91,-7.69L-2.05,-7.81L-2.19,-7.95L-2.31,-8.09L-2.43,-8.24L-2.53,-8.39L-2.63,-8.55L-2.71,-8.72L-2.79,-8.90L-2.85,-9.07L-2.91,-9.25L-2.95,-9.44L-2.98,-9.62L-2.99,-9.81L-3.00,-10.00L-2.99,-10.19L-2.98,-10.38L-2.95,-10.56L-2.91,-10.75L-2.85,-10.93L-2.79,-11.10L-2.71,-11.28L-2.63,-11.45L-2.53,-11.61L-2.43,-11.76L-2.31,-11.91L-2.19,-12.05L-2.05,-12.19L-1.91,-12.31L-1.76,-12.43L-1.61,-12.53L-1.45,-12.63L-1.28,-12.71L-1.10,-12.79L-0.93,-12.85L-0.75,-12.91L-0.56,-12.95L-0.38,-12.98L-0.19,-12.99L-0.00,-13.00L0.19,-12.99L0.38,-12.98L0.56,-12.95L0.75,-12.91L0.93,-12.85L1.10,-12.79L1.28,-12.71L1.45,-12.63L1.61,-12.53L1.76,-12.43L1.91,-12.31L2.05,-12.19L2.19,-12.05L2.31,-11.91L2.43,-11.76L2.53,-11.61L2.63,-11.45L2.71,-11.28L2.79,-11.10L2.85,-10.93L2.91,-10.75L2.95,-10.56L2.98,-10.38L2.99,-10.19"]
@@ -21,6 +24,9 @@
           KCanvasItem {line} at (289.50,95) size 1x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,15.00L250.00,25.00"]
           KCanvasItem {circle} at (336.50,66.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M303.00,-10.00L302.99,-9.81L302.98,-9.62L302.95,-9.44L302.91,-9.25L302.85,-9.07L302.79,-8.90L302.71,-8.72L302.63,-8.55L302.53,-8.39L302.43,-8.24L302.31,-8.09L302.19,-7.95L302.05,-7.81L301.91,-7.69L301.76,-7.57L301.61,-7.47L301.45,-7.37L301.28,-7.29L301.10,-7.21L300.93,-7.15L300.75,-7.09L300.56,-7.05L300.38,-7.02L300.19,-7.01L300.00,-7.00L299.81,-7.01L299.62,-7.02L299.44,-7.05L299.25,-7.09L299.07,-7.15L298.90,-7.21L298.72,-7.29L298.55,-7.37L298.39,-7.47L298.24,-7.57L298.09,-7.69L297.95,-7.81L297.81,-7.95L297.69,-8.09L297.57,-8.24L297.47,-8.39L297.37,-8.55L297.29,-8.72L297.21,-8.90L297.15,-9.07L297.09,-9.25L297.05,-9.44L297.02,-9.62L297.01,-9.81L297.00,-10.00L297.01,-10.19L297.02,-10.38L297.05,-10.56L297.09,-10.75L297.15,-10.93L297.21,-11.10L297.29,-11.28L297.37,-11.45L297.47,-11.61L297.57,-11.76L297.69,-11.91L297.81,-12.05L297.95,-12.19L298.09,-12.31L298.24,-12.43L298.39,-12.53L298.55,-12.63L298.72,-12.71L298.90,-12.79L299.07,-12.85L299.25,-12.91L299.44,-12.95L299.62,-12.98L299.81,-12.99L300.00,-13.00L300.19,-12.99L300.38,-12.98L300.56,-12.95L300.75,-12.91L300.93,-12.85L301.10,-12.79L301.28,-12.71L301.45,-12.63L301.61,-12.53L301.76,-12.43L301.91,-12.31L302.05,-12.19L302.19,-12.05L302.31,-11.91L302.43,-11.76L302.53,-11.61L302.63,-11.45L302.71,-11.28L302.79,-11.10L302.85,-10.93L302.91,-10.75L302.95,-10.56L302.98,-10.38L302.99,-10.19"]
           KCanvasItem {line} at (339.50,73) size 1x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-7.00L0.00,40.00"]
+          RenderSVGText {text} at (0,0) size 465x19
+            RenderText {TEXT} at (0,0) size 118x19
+              text run at (0,0) width 118: "default (sRGB)"
         KCanvasContainer {g} at (36.50,146.50) size 307.00x54.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,160.00)}]
           KCanvasItem {rect} at (39.50,159.50) size 301x41 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M0.00,0.00L300.00,0.00L300.00,40.00L0.00,40.00"]
           KCanvasItem {circle} at (36.50,146.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M3.00,-10.00L2.99,-9.81L2.98,-9.62L2.95,-9.44L2.91,-9.25L2.85,-9.07L2.79,-8.90L2.71,-8.72L2.63,-8.55L2.53,-8.39L2.43,-8.24L2.31,-8.09L2.19,-7.95L2.05,-7.81L1.91,-7.69L1.76,-7.57L1.61,-7.47L1.45,-7.37L1.28,-7.29L1.10,-7.21L0.93,-7.15L0.75,-7.09L0.56,-7.05L0.38,-7.02L0.19,-7.01L0.00,-7.00L-0.19,-7.01L-0.38,-7.02L-0.56,-7.05L-0.75,-7.09L-0.93,-7.15L-1.10,-7.21L-1.28,-7.29L-1.45,-7.37L-1.61,-7.47L-1.76,-7.57L-1.91,-7.69L-2.05,-7.81L-2.19,-7.95L-2.31,-8.09L-2.43,-8.24L-2.53,-8.39L-2.63,-8.55L-2.71,-8.72L-2.79,-8.90L-2.85,-9.07L-2.91,-9.25L-2.95,-9.44L-2.98,-9.62L-2.99,-9.81L-3.00,-10.00L-2.99,-10.19L-2.98,-10.38L-2.95,-10.56L-2.91,-10.75L-2.85,-10.93L-2.79,-11.10L-2.71,-11.28L-2.63,-11.45L-2.53,-11.61L-2.43,-11.76L-2.31,-11.91L-2.19,-12.05L-2.05,-12.19L-1.91,-12.31L-1.76,-12.43L-1.61,-12.53L-1.45,-12.63L-1.28,-12.71L-1.10,-12.79L-0.93,-12.85L-0.75,-12.91L-0.56,-12.95L-0.38,-12.98L-0.19,-12.99L-0.00,-13.00L0.19,-12.99L0.38,-12.98L0.56,-12.95L0.75,-12.91L0.93,-12.85L1.10,-12.79L1.28,-12.71L1.45,-12.63L1.61,-12.53L1.76,-12.43L1.91,-12.31L2.05,-12.19L2.19,-12.05L2.31,-11.91L2.43,-11.76L2.53,-11.61L2.63,-11.45L2.71,-11.28L2.79,-11.10L2.85,-10.93L2.91,-10.75L2.95,-10.56L2.98,-10.38L2.99,-10.19"]
@@ -37,6 +43,9 @@
           KCanvasItem {line} at (289.50,175) size 1x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,15.00L250.00,25.00"]
           KCanvasItem {circle} at (336.50,146.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M303.00,-10.00L302.99,-9.81L302.98,-9.62L302.95,-9.44L302.91,-9.25L302.85,-9.07L302.79,-8.90L302.71,-8.72L302.63,-8.55L302.53,-8.39L302.43,-8.24L302.31,-8.09L302.19,-7.95L302.05,-7.81L301.91,-7.69L301.76,-7.57L301.61,-7.47L301.45,-7.37L301.28,-7.29L301.10,-7.21L300.93,-7.15L300.75,-7.09L300.56,-7.05L300.38,-7.02L300.19,-7.01L300.00,-7.00L299.81,-7.01L299.62,-7.02L299.44,-7.05L299.25,-7.09L299.07,-7.15L298.90,-7.21L298.72,-7.29L298.55,-7.37L298.39,-7.47L298.24,-7.57L298.09,-7.69L297.95,-7.81L297.81,-7.95L297.69,-8.09L297.57,-8.24L297.47,-8.39L297.37,-8.55L297.29,-8.72L297.21,-8.90L297.15,-9.07L297.09,-9.25L297.05,-9.44L297.02,-9.62L297.01,-9.81L297.00,-10.00L297.01,-10.19L297.02,-10.38L297.05,-10.56L297.09,-10.75L297.15,-10.93L297.21,-11.10L297.29,-11.28L297.37,-11.45L297.47,-11.61L297.57,-11.76L297.69,-11.91L297.81,-12.05L297.95,-12.19L298.09,-12.31L298.24,-12.43L298.39,-12.53L298.55,-12.63L298.72,-12.71L298.90,-12.79L299.07,-12.85L299.25,-12.91L299.44,-12.95L299.62,-12.98L299.81,-12.99L300.00,-13.00L300.19,-12.99L300.38,-12.98L300.56,-12.95L300.75,-12.91L300.93,-12.85L301.10,-12.79L301.28,-12.71L301.45,-12.63L301.61,-12.53L301.76,-12.43L301.91,-12.31L302.05,-12.19L302.19,-12.05L302.31,-11.91L302.43,-11.76L302.53,-11.61L302.63,-11.45L302.71,-11.28L302.79,-11.10L302.85,-10.93L302.91,-10.75L302.95,-10.56L302.98,-10.38L302.99,-10.19"]
           KCanvasItem {line} at (339.50,153) size 1x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-7.00L0.00,40.00"]
+          RenderSVGText {text} at (0,0) size 465x19
+            RenderText {TEXT} at (0,0) size 42x19
+              text run at (0,0) width 42: "sRGB"
         KCanvasContainer {g} at (36.50,226.50) size 307.00x54.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,240.00)}]
           KCanvasItem {rect} at (39.50,239.50) size 301x41 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M0.00,0.00L300.00,0.00L300.00,40.00L0.00,40.00"]
           KCanvasItem {circle} at (36.50,226.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M3.00,-10.00L2.99,-9.81L2.98,-9.62L2.95,-9.44L2.91,-9.25L2.85,-9.07L2.79,-8.90L2.71,-8.72L2.63,-8.55L2.53,-8.39L2.43,-8.24L2.31,-8.09L2.19,-7.95L2.05,-7.81L1.91,-7.69L1.76,-7.57L1.61,-7.47L1.45,-7.37L1.28,-7.29L1.10,-7.21L0.93,-7.15L0.75,-7.09L0.56,-7.05L0.38,-7.02L0.19,-7.01L0.00,-7.00L-0.19,-7.01L-0.38,-7.02L-0.56,-7.05L-0.75,-7.09L-0.93,-7.15L-1.10,-7.21L-1.28,-7.29L-1.45,-7.37L-1.61,-7.47L-1.76,-7.57L-1.91,-7.69L-2.05,-7.81L-2.19,-7.95L-2.31,-8.09L-2.43,-8.24L-2.53,-8.39L-2.63,-8.55L-2.71,-8.72L-2.79,-8.90L-2.85,-9.07L-2.91,-9.25L-2.95,-9.44L-2.98,-9.62L-2.99,-9.81L-3.00,-10.00L-2.99,-10.19L-2.98,-10.38L-2.95,-10.56L-2.91,-10.75L-2.85,-10.93L-2.79,-11.10L-2.71,-11.28L-2.63,-11.45L-2.53,-11.61L-2.43,-11.76L-2.31,-11.91L-2.19,-12.05L-2.05,-12.19L-1.91,-12.31L-1.76,-12.43L-1.61,-12.53L-1.45,-12.63L-1.28,-12.71L-1.10,-12.79L-0.93,-12.85L-0.75,-12.91L-0.56,-12.95L-0.38,-12.98L-0.19,-12.99L-0.00,-13.00L0.19,-12.99L0.38,-12.98L0.56,-12.95L0.75,-12.91L0.93,-12.85L1.10,-12.79L1.28,-12.71L1.45,-12.63L1.61,-12.53L1.76,-12.43L1.91,-12.31L2.05,-12.19L2.19,-12.05L2.31,-11.91L2.43,-11.76L2.53,-11.61L2.63,-11.45L2.71,-11.28L2.79,-11.10L2.85,-10.93L2.91,-10.75L2.95,-10.56L2.98,-10.38L2.99,-10.19"]
@@ -53,4 +62,10 @@
           KCanvasItem {line} at (289.50,255) size 1x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,15.00L250.00,25.00"]
           KCanvasItem {circle} at (336.50,226.50) size 7.00x7.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M303.00,-10.00L302.99,-9.81L302.98,-9.62L302.95,-9.44L302.91,-9.25L302.85,-9.07L302.79,-8.90L302.71,-8.72L302.63,-8.55L302.53,-8.39L302.43,-8.24L302.31,-8.09L302.19,-7.95L302.05,-7.81L301.91,-7.69L301.76,-7.57L301.61,-7.47L301.45,-7.37L301.28,-7.29L301.10,-7.21L300.93,-7.15L300.75,-7.09L300.56,-7.05L300.38,-7.02L300.19,-7.01L300.00,-7.00L299.81,-7.01L299.62,-7.02L299.44,-7.05L299.25,-7.09L299.07,-7.15L298.90,-7.21L298.72,-7.29L298.55,-7.37L298.39,-7.47L298.24,-7.57L298.09,-7.69L297.95,-7.81L297.81,-7.95L297.69,-8.09L297.57,-8.24L297.47,-8.39L297.37,-8.55L297.29,-8.72L297.21,-8.90L297.15,-9.07L297.09,-9.25L297.05,-9.44L297.02,-9.62L297.01,-9.81L297.00,-10.00L297.01,-10.19L297.02,-10.38L297.05,-10.56L297.09,-10.75L297.15,-10.93L297.21,-11.10L297.29,-11.28L297.37,-11.45L297.47,-11.61L297.57,-11.76L297.69,-11.91L297.81,-12.05L297.95,-12.19L298.09,-12.31L298.24,-12.43L298.39,-12.53L298.55,-12.63L298.72,-12.71L298.90,-12.79L299.07,-12.85L299.25,-12.91L299.44,-12.95L299.62,-12.98L299.81,-12.99L300.00,-13.00L300.19,-12.99L300.38,-12.98L300.56,-12.95L300.75,-12.91L300.93,-12.85L301.10,-12.79L301.28,-12.71L301.45,-12.63L301.61,-12.53L301.76,-12.43L301.91,-12.31L302.05,-12.19L302.19,-12.05L302.31,-11.91L302.43,-11.76L302.53,-11.61L302.63,-11.45L302.71,-11.28L302.79,-11.10L302.85,-10.93L302.91,-10.75L302.95,-10.56L302.98,-10.38L302.99,-10.19"]
           KCanvasItem {line} at (339.50,233) size 1x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-7.00L0.00,40.00"]
+          RenderSVGText {text} at (0,0) size 465x19
+            RenderText {TEXT} at (0,0) size 79x19
+              text run at (0,0) width 79: "linearRGB"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum
index 41d900e..fce0d9a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum
@@ -1 +1 @@
-ba73af7e57bb60f6fa6f7a1e840de070
\ No newline at end of file
+9928f5b2741c46a457baed9490212bc8
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png
index e5ed06a..f94f11b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt
index b5da3f8..ae54dc61 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt
@@ -2,6 +2,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (80,70) size 320x180
+        RenderSVGText {text} at (0,0) size 465x84
+          RenderText {TEXT} at (0,0) size 294x84
+            text run at (0,0) width 294: "Basic paint: stroke"
+            text run at (0,42) width 170: "properties."
         KCanvasItem {rect} at (90,70) size 300x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M90.00,70.00L390.00,70.00L390.00,120.00L90.00,120.00"]
         KCanvasItem {rect} at (80,180) size 320x70 [stroke={[type=SOLID] [color=#FF0000] [stroke width=20.00]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M90.00,190.00L390.00,190.00L390.00,240.00L90.00,240.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 207x45
+            text run at (0,0) width 207: "stroke:none"
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 176x45
+            text run at (0,0) width 176: "stroke:red"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum
index b48f204..2e9106e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum
@@ -1 +1 @@
-ab5029ad0916f2fceb25bf4f969aaf0c
\ No newline at end of file
+97575ff41166a41bb9d2990dceb76d8c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png
index c4bfede..247f1d8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt
index 012cce2..29f408e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt
@@ -2,6 +2,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (80,60) size 320x190
+        RenderSVGText {text} at (0,0) size 465x84
+          RenderText {TEXT} at (0,0) size 294x84
+            text run at (0,0) width 294: "Basic paint: stroke"
+            text run at (0,42) width 170: "properties."
         KCanvasItem {rect} at (80,60) size 320x70 [stroke={[type=SOLID] [color=#FF0000] [stroke width=20.00]}] [data="M90.00,70.00L390.00,70.00L390.00,120.00L90.00,120.00"]
         KCanvasItem {rect} at (80,180) size 320x70 [stroke={[type=SOLID] [color=#FF0000] [stroke width=20.00] [line join=ROUND]}] [data="M90.00,190.00L390.00,190.00L390.00,240.00L90.00,240.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 269x45
+            text run at (0,0) width 269: "stroke-width:20"
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 357x45
+            text run at (0,0) width 357: "stroke-linejoin:round"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum
index a8ab3af..d364e25 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum
@@ -1 +1 @@
-18a7f00807cc01691406b234becff7bb
\ No newline at end of file
+d696e7fb53b76a705276c301432b8800
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png
index 559fcf4..4427173 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt
index 9a3b324..7311e35 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt
@@ -2,6 +2,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (144.25,54.25) size 217.24x190.68
+        RenderSVGText {text} at (0,0) size 465x84
+          RenderText {TEXT} at (0,0) size 294x84
+            text run at (0,0) width 294: "Basic paint: stroke"
+            text run at (0,42) width 170: "properties."
         KCanvasItem {path} at (144.25,54.25) size 217.24x71.50 [stroke={[type=SOLID] [color=#FF0000] [stroke width=30.00] [line cap=ROUND]}] [data="M160.00,70.00L360.00,90.00L160.00,110.00"]
         KCanvasItem {path} at (158.51,175.07) size 202.99x69.85 [stroke={[type=SOLID] [color=#FF0000] [stroke width=30.00] [miter limit=1]}] [data="M160.00,190.00L360.00,210.00L160.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 359x45
+            text run at (0,0) width 359: "stroke-linecap:round"
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 242x45
+            text run at (0,0) width 242: "stroke-miter:1"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum
index f1748c6..94cae28 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum
@@ -1 +1 @@
-0c9914e889fdb40b7a1bbc4fb2181594
\ No newline at end of file
+1f1470c91a56b6c4a28b401c4b278a47
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png
index a8945db..f6fe3f0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt
index 6ed795d..868d39d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt
@@ -2,6 +2,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (50,107.50) size 380x45
+        RenderSVGText {text} at (0,0) size 465x84
+          RenderText {TEXT} at (0,0) size 294x84
+            text run at (0,0) width 294: "Basic paint: stroke"
+            text run at (0,42) width 170: "properties."
         KCanvasItem {path} at (50,107.50) size 370x25 [stroke={[type=SOLID] [color=#FF0000] [stroke width=25.00] [dash array={10.00, 10.00}]}] [data="M50.00,120.00L430.00,120.00"]
         KCanvasItem {path} at (60,127.50) size 370x25 [stroke={[type=SOLID] [color=#000000] [stroke width=25.00] [dash offset=10.00] [dash array={10.00, 10.00}]}] [data="M50.00,140.00L430.00,140.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 317x34
+            text run at (0,0) width 317: "stroke:dasharray:10, 10"
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 271x34
+            text run at (0,0) width 271: "stroke:dashoffset:10"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum
index 5d5a666..07b1734 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.checksum
@@ -1 +1 @@
-70686eea1d9f1ddc8df7c464976f4ee7
\ No newline at end of file
+da77ef510dd66624730d650bc1acbb82
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.png
index d5b5d8a..aa1a21d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
index 6c18a6d..c696208 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
@@ -2,6 +2,9 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (3,23) size 452.44x304
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 236x14
+            text run at (0,0) width 236: "Cubic bezier curves drawn with commands:"
         KCanvasItem {path} at (10,24.50) size 200x106 [stroke={[type=SOLID] [color=#00C000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M210.00,130.00C145.00,130.00,110.00,80.00,110.00,80.00C110.00,80.00,75.00,25.00,10.00,25.00M10.00,130.00C75.00,130.00,110.00,80.00,110.00,80.00C110.00,80.00,145.00,25.00,210.00,25.00"]
         KCanvasItem {rect} at (208,128) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M208.00,128.00L212.00,128.00L212.00,132.00L208.00,132.00"]
         KCanvasItem {rect} at (108,78) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M108.00,78.00L112.00,78.00L112.00,82.00L108.00,82.00"]
@@ -9,31 +12,58 @@
         KCanvasItem {rect} at (8,128) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M8.00,128.00L12.00,128.00L12.00,132.00L8.00,132.00"]
         KCanvasItem {rect} at (108,78) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M108.00,78.00L112.00,78.00L112.00,82.00L108.00,82.00"]
         KCanvasItem {rect} at (208,23) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M208.00,23.00L212.00,23.00L212.00,27.00L208.00,27.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 79x14
+            text run at (0,0) width 79: "M, C, S, m, c, s"
         KCanvasItem {path} at (239.50,56.72) size 101x66.93 [stroke={[type=SOLID] [color=#000000]}] [data="M240.00,90.00C240.00,120.00,247.00,140.00,290.00,90.00C333.00,40.00,340.00,60.00,340.00,90.00C340.00,173.00,272.00,56.00,250.00,60.00C240.00,60.00,240.00,90.00,240.00,90.00"]
         KCanvasItem {rect} at (238,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M238.00,88.00L242.00,88.00L242.00,92.00L238.00,92.00"]
         KCanvasItem {rect} at (288,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M288.00,88.00L292.00,88.00L292.00,92.00L288.00,92.00"]
         KCanvasItem {rect} at (338,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M338.00,88.00L342.00,88.00L342.00,92.00L338.00,92.00"]
         KCanvasItem {rect} at (248,58) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M248.00,58.00L252.00,58.00L252.00,62.00L248.00,62.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 73x14
+            text run at (0,0) width 73: "M, c, c, c, C, z"
         KCanvasItem {path} at (80,169.50) size 100x1 [stroke={[type=SOLID] [color=#000000]}] [data="M80.00,170.00C100.00,170.00,160.00,170.00,180.00,170.00"]
         KCanvasItem {rect} at (78,168) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M78.00,168.00L82.00,168.00L82.00,172.00L78.00,172.00"]
         KCanvasItem {rect} at (178,168) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M178.00,168.00L182.00,168.00L182.00,172.00L178.00,172.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 38x14
+            text run at (0,0) width 38: "M, C, Z"
         KCanvasItem {path} at (5,160) size 100x100 [fill={[type=SOLID] [color=#00C000]}] [data="M5.00,260.00C40.00,260.00,60.00,175.00,55.00,160.00C50.00,175.00,70.00,260.00,105.00,260.00"]
         KCanvasItem {rect} at (3,258) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M3.00,258.00L7.00,258.00L7.00,262.00L3.00,262.00"]
         KCanvasItem {rect} at (53,158) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M53.00,158.00L57.00,158.00L57.00,162.00L53.00,162.00"]
         KCanvasItem {rect} at (103,258) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M103.00,258.00L107.00,258.00L107.00,262.00L103.00,262.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 50x14
+            text run at (0,0) width 50: "M, C, c, Z"
         KCanvasItem {path} at (199.69,159.50) size 50.62x100.89 [stroke={[type=SOLID] [color=#000000]}] [data="M200.00,260.00C250.00,220.00,250.00,160.00,225.00,160.00C200.00,160.00,200.00,220.00,250.00,260.00"]
         KCanvasItem {rect} at (198,258) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M198.00,258.00L202.00,258.00L202.00,262.00L198.00,262.00"]
         KCanvasItem {rect} at (223,158) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M223.00,158.00L227.00,158.00L227.00,162.00L223.00,162.00"]
         KCanvasItem {rect} at (248,258) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M248.00,258.00L252.00,258.00L252.00,262.00L248.00,262.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 34x14
+            text run at (0,0) width 34: "m, c, s"
         KCanvasItem {path} at (359.92,94.74) size 95.52x95.36 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M360.00,100.00C420.00,90.00,460.00,140.00,450.00,190.00"]
         KCanvasItem {rect} at (358,98) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M358.00,98.00L362.00,98.00L362.00,102.00L358.00,102.00"]
         KCanvasItem {rect} at (448,188) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M448.00,188.00L452.00,188.00L452.00,192.00L448.00,192.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 25x14
+            text run at (0,0) width 25: "M, C"
         KCanvasItem {path} at (287.50,173.50) size 73x73 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M360.00,210.00C360.00,230.00,344.00,246.00,324.00,246.00C304.00,246.00,288.00,230.00,288.00,210.00C288.00,190.00,304.00,174.00,324.00,174.00C344.00,174.00,360.00,190.00,360.00,210.00"]
         KCanvasItem {rect} at (358,208) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M358.00,208.00L362.00,208.00L362.00,212.00L358.00,212.00"]
         KCanvasItem {rect} at (322,244) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M322.00,244.00L326.00,244.00L326.00,248.00L322.00,248.00"]
         KCanvasItem {rect} at (286,208) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M286.00,208.00L290.00,208.00L290.00,212.00L286.00,212.00"]
         KCanvasItem {rect} at (322,172) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M322.00,172.00L326.00,172.00L326.00,176.00L322.00,176.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 70x14
+            text run at (0,0) width 70: "M, c, s, s, s, z"
         KCanvasItem {path} at (349.79,261.81) size 94.22x63.69 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#F0F0F0]}] [data="M360.00,325.00C320.00,265.00,455.00,225.00,440.00,325.00"]
         KCanvasItem {rect} at (358,323) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M358.00,323.00L362.00,323.00L362.00,327.00L358.00,327.00"]
         KCanvasItem {rect} at (438,323) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M438.00,323.00L442.00,323.00L442.00,327.00L438.00,327.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 34x14
+            text run at (0,0) width 34: "m, c, z"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum
index de582d0..7cee771 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.checksum
@@ -1 +1 @@
-df20c0bc625d242ddac2f9b297b60c85
\ No newline at end of file
+ac87728f87594f4511372da2767d3033
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.png
index 9514080..f0c0b63 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
index 92be05c..e271a05 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
@@ -2,29 +2,50 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (-6.67,-0.65) size 486.17x363.95
       KCanvasContainer {g} at (-6.67,-0.65) size 483.67x363.95
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 247x14
+            text run at (0,0) width 247: "Quadric bezier curves drawn with commands:"
         KCanvasItem {path} at (13.05,3.45) size 171.19x88.35 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M15.00,20.00C25.00,86.67,63.33,90.00,130.00,30.00M180.00,80.00C130.00,13.33,75.67,-6.67,17.00,20.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 66x14
+            text run at (0,0) width 66: "M, Q, M, q, z"
         KCanvasItem {rect} at (13,18) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M13.00,18.00L17.00,18.00L17.00,22.00L13.00,22.00"]
         KCanvasItem {rect} at (128,28) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M128.00,28.00L132.00,28.00L132.00,32.00L128.00,32.00"]
         KCanvasItem {rect} at (178,78) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M178.00,78.00L182.00,78.00L182.00,82.00L178.00,82.00"]
         KCanvasItem {rect} at (15,18) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M15.00,18.00L19.00,18.00L19.00,22.00L15.00,22.00"]
         KCanvasItem {path} at (304.65,-0.65) size 171.28x131.63 [stroke={[type=SOLID] [color=#CF0000]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M372.00,130.00C305.33,76.67,322.00,36.67,422.00,10.00M442.00,130.00C475.33,30.00,448.67,0.00,362.00,40.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 76x14
+            text run at (0,0) width 76: "m, q, z, m, q, z"
         KCanvasItem {rect} at (370,128) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M370.00,128.00L374.00,128.00L374.00,132.00L370.00,132.00"]
         KCanvasItem {rect} at (420,8) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M420.00,8.00L424.00,8.00L424.00,12.00L420.00,12.00"]
         KCanvasItem {rect} at (440,128) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M440.00,128.00L444.00,128.00L444.00,132.00L440.00,132.00"]
         KCanvasItem {rect} at (360,38) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M360.00,38.00L364.00,38.00L364.00,42.00L360.00,42.00"]
         KCanvasItem {path} at (223.39,2.33) size 81.44x101.87 [stroke={[type=SOLID] [color=#00FFFF]}] [data="M224.00,103.00C230.67,26.33,257.33,3.00,304.00,33.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 38x14
+            text run at (0,0) width 38: "M, Q, Z"
         KCanvasItem {rect} at (222,101) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M222.00,101.00L226.00,101.00L226.00,105.00L222.00,105.00"]
         KCanvasItem {rect} at (302,31) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M302.00,31.00L306.00,31.00L306.00,35.00L302.00,35.00"]
         KCanvasItem {path} at (153.87,84.00) size 188.12x151.25 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#00C000]}] [data="M208.00,168.00C241.33,234.67,274.67,234.67,308.00,168.00C341.33,101.33,324.67,84.67,258.00,118.00C171.33,98.00,154.67,114.67,208.00,168.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 65x14
+            text run at (0,0) width 65: "M, Q, T, Q, z"
         KCanvasItem {rect} at (206,166) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M206.00,166.00L210.00,166.00L210.00,170.00L206.00,170.00"]
         KCanvasItem {rect} at (306,166) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M306.00,166.00L310.00,166.00L310.00,170.00L306.00,170.00"]
         KCanvasItem {rect} at (256,116) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M256.00,116.00L260.00,116.00L260.00,120.00L256.00,120.00"]
         KCanvasItem {rect} at (206,206) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M206.00,206.00L210.00,206.00L210.00,210.00L206.00,210.00"]
         KCanvasItem {path} at (-6.67,100) size 133.33x100 [fill={[type=SOLID] [color=#CF0000]}] [data="M60.00,100.00C-6.67,133.33,-6.67,166.67,60.00,200.00C126.67,166.67,126.67,133.33,60.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 52x14
+            text run at (0,0) width 52: "M, Q, Q, z"
         KCanvasItem {rect} at (58,98) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M58.00,98.00L62.00,98.00L62.00,102.00L58.00,102.00"]
         KCanvasItem {rect} at (58,198) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M58.00,198.00L62.00,198.00L62.00,202.00L58.00,202.00"]
         KCanvasItem {rect} at (58,98) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M58.00,98.00L62.00,98.00L62.00,102.00L58.00,102.00"]
         KCanvasItem {path} at (239.36,228.70) size 236.26x134.59 [stroke={[type=SOLID] [color=#FF0000]}] [data="M240.00,296.00C256.67,229.33,272.33,229.33,287.00,296.00C301.67,362.67,317.33,362.67,334.00,296.00C350.67,229.33,366.33,229.33,381.00,296.00C395.67,362.67,411.33,362.67,428.00,296.00C444.67,229.33,460.33,229.33,475.00,296.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 71x14
+            text run at (0,0) width 71: "M, q, t, t, t, t, z"
         KCanvasItem {rect} at (238,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M238.00,294.00L242.00,294.00L242.00,298.00L238.00,298.00"]
         KCanvasItem {rect} at (285,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M285.00,294.00L289.00,294.00L289.00,298.00L285.00,298.00"]
         KCanvasItem {rect} at (332,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M332.00,294.00L336.00,294.00L336.00,298.00L332.00,298.00"]
@@ -32,9 +53,15 @@
         KCanvasItem {rect} at (426,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M426.00,294.00L430.00,294.00L430.00,298.00L426.00,298.00"]
         KCanvasItem {rect} at (473,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M473.00,294.00L477.00,294.00L477.00,298.00L473.00,298.00"]
         KCanvasItem {path} at (121,191.88) size 102x102.24 [stroke={[type=SOLID] [color=#00CF00] [stroke width=2.00]}] [fill={[type=SOLID] [color=#0000C0]}] [data="M172.00,193.00C105.33,226.33,105.33,243.00,172.00,243.00C105.33,243.00,105.33,259.67,172.00,293.00C238.67,259.67,238.67,243.00,172.00,243.00C238.67,243.00,238.67,226.33,172.00,193.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 78x14
+            text run at (0,0) width 78: "M, q, Q, q, Q, z"
         KCanvasItem {rect} at (170,191) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M170.00,191.00L174.00,191.00L174.00,195.00L170.00,195.00"]
         KCanvasItem {rect} at (170,241) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M170.00,241.00L174.00,241.00L174.00,245.00L170.00,245.00"]
         KCanvasItem {rect} at (170,291) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M170.00,291.00L174.00,291.00L174.00,295.00L170.00,295.00"]
         KCanvasItem {rect} at (170,241) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M170.00,241.00L174.00,241.00L174.00,245.00L170.00,245.00"]
         KCanvasItem {rect} at (170,191) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M170.00,191.00L174.00,191.00L174.00,195.00L170.00,195.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum
index 5622800..d34281b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.checksum
@@ -1 +1 @@
-65cc62cf578ed065f06fb84e2aaaad9f
\ No newline at end of file
+c2bfa21146dab1e54e46772a13d58b3f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.png
index 065dc46..a4f2ab0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
index 2d80a32..0b43e1d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
@@ -2,21 +2,39 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,24.35) size 447x307.79
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 233x14
+            text run at (0,0) width 233: "Elliptical arc curves drawn with commands:"
         KCanvasItem {path} at (20,24.35) size 90.00x90.31 [stroke={[type=SOLID] [color=#FF0000] [stroke width=10.00]}] [data="M25.00,70.00C25.27,91.99,43.25,109.64,65.25,109.50C87.24,109.36,105.00,91.49,105.00,69.50C105.00,47.51,87.24,29.64,65.25,29.50C43.25,29.36,25.27,47.01,25.00,69.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 37x14
+            text run at (0,0) width 37: "M, A, Z"
         KCanvasItem {rect} at (23,68) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M23.00,68.00L27.00,68.00L27.00,72.00L23.00,72.00"]
         KCanvasItem {rect} at (23,67) size 4x4 [fill={[type=SOLID] [color=#00C000]}] [data="M23.00,67.00L27.00,67.00L27.00,71.00L23.00,71.00"]
         KCanvasItem {path} at (149.40,26.74) size 88.61x86.57 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M150.00,100.00C167.55,111.97,193.06,112.78,211.74,101.96C230.43,91.15,237.44,71.51,228.72,54.43C220.00,37.35,197.81,27.26,175.00,30.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 35x14
+            text run at (0,0) width 35: "m, a, z"
         KCanvasItem {rect} at (148,98) size 4x4 [fill={[type=SOLID] [color=#CF0000]}] [data="M148.00,98.00L152.00,98.00L152.00,102.00L148.00,102.00"]
         KCanvasItem {rect} at (173,28) size 4x4 [fill={[type=SOLID] [color=#CF0000]}] [data="M173.00,28.00L177.00,28.00L177.00,32.00L173.00,32.00"]
         KCanvasItem {path} at (332.87,244.70) size 97.53x87.43 [stroke={[type=SOLID] [color=#000000]}] [data="M350.00,245.00C333.43,267.09,337.91,298.43,360.00,315.00C382.09,331.57,413.43,327.09,430.00,305.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 23x14
+            text run at (0,0) width 23: "M, a"
         KCanvasItem {rect} at (348,243) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M348.00,243.00L352.00,243.00L352.00,247.00L348.00,247.00"]
         KCanvasItem {rect} at (428,303) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M428.00,303.00L432.00,303.00L432.00,307.00L428.00,307.00"]
         KCanvasItem {path} at (252.27,30) size 208.00x98.41 [fill={[type=SOLID] [color=#C0C000] [fill rule=EVEN-ODD]}] [data="M270.00,30.00C252.27,50.10,253.55,80.61,272.89,99.16C292.23,117.71,322.77,117.71,342.11,99.16C361.45,80.61,362.73,50.10,345.00,30.00C325.40,41.32,315.85,64.38,321.70,86.24C327.56,108.10,347.37,123.30,370.00,123.30C392.63,123.30,412.44,108.10,418.30,86.24C424.15,64.38,414.60,41.32,395.00,30.00C370.62,36.29,354.73,59.73,357.90,84.71C361.07,109.69,382.32,128.41,407.50,128.41C432.68,128.41,453.93,109.69,457.10,84.71C460.27,59.73,444.38,36.29,420.00,30.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 62x14
+            text run at (0,0) width 62: "M, A, a, a, z"
         KCanvasItem {rect} at (268,28) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M268.00,28.00L272.00,28.00L272.00,32.00L268.00,32.00"]
         KCanvasItem {rect} at (343,28) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M343.00,28.00L347.00,28.00L347.00,32.00L343.00,32.00"]
         KCanvasItem {rect} at (393,28) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M393.00,28.00L397.00,28.00L397.00,32.00L393.00,32.00"]
         KCanvasItem {rect} at (418,28) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M418.00,28.00L422.00,28.00L422.00,32.00L418.00,32.00"]
         KCanvasItem {path} at (27.90,127.00) size 152.60x129.10 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CF0000]}] [data="M30.00,150.00C43.81,132.05,69.55,128.69,87.50,142.50C105.45,156.31,108.81,182.05,95.00,200.00M60.00,180.00C46.19,197.95,49.55,223.69,67.50,237.50C85.45,251.31,111.19,247.95,125.00,230.00M100.00,204.00C113.81,186.05,139.55,182.69,157.50,196.50C175.45,210.31,178.81,236.05,165.00,254.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 120x14
+            text run at (0,0) width 120: "M, a, Z, m, A, Z, m, a, z"
         KCanvasItem {rect} at (28,148) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M28.00,148.00L32.00,148.00L32.00,152.00L28.00,152.00"]
         KCanvasItem {rect} at (93,198) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M93.00,198.00L97.00,198.00L97.00,202.00L93.00,202.00"]
         KCanvasItem {rect} at (58,178) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M58.00,178.00L62.00,178.00L62.00,182.00L58.00,182.00"]
@@ -24,10 +42,16 @@
         KCanvasItem {rect} at (98,202) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M98.00,202.00L102.00,202.00L102.00,206.00L98.00,206.00"]
         KCanvasItem {rect} at (163,252) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M163.00,252.00L167.00,252.00L167.00,256.00L163.00,256.00"]
         KCanvasItem {path} at (214.50,153.36) size 250.71x93.01 [stroke={[type=SOLID] [color=#FF0000]}] [data="M215.00,190.00C220.26,245.75,240.89,245.75,265.00,190.00C296.65,141.82,316.85,141.82,315.00,190.00C309.67,227.54,329.26,227.54,365.00,190.00C400.96,163.95,419.86,163.95,415.00,190.00C413.86,205.73,432.08,205.73,465.00,190.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 66x14
+            text run at (0,0) width 66: "M, A, A, A, A"
         KCanvasItem {rect} at (213,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M213.00,188.00L217.00,188.00L217.00,192.00L213.00,192.00"]
         KCanvasItem {rect} at (263,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M263.00,188.00L267.00,188.00L267.00,192.00L263.00,192.00"]
         KCanvasItem {rect} at (313,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M313.00,188.00L317.00,188.00L317.00,192.00L313.00,192.00"]
         KCanvasItem {rect} at (363,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M363.00,188.00L367.00,188.00L367.00,192.00L363.00,192.00"]
         KCanvasItem {rect} at (413,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M413.00,188.00L417.00,188.00L417.00,192.00L413.00,192.00"]
         KCanvasItem {rect} at (463,188) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M463.00,188.00L467.00,188.00L467.00,192.00L463.00,192.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum
index 4f96177..d964339 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum
@@ -1 +1 @@
-179e6106a3eb3c7febbd15cf1374225c
\ No newline at end of file
+a57483c48323768cd75eac245291ca70
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.png
index 03d2763..db26b5e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt
index 4e4c9b9..4b2eadb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt
@@ -3,6 +3,15 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (14.47,97.20) size 401.26x169.20
         KCanvasContainer {g} at (14.47,97.20) size 401.26x169.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 65x14
+              text run at (0,0) width 65: "M, L, L, L, Z,"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 44x14
+              text run at (0,0) width 44: "subpath"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 62x14
+              text run at (0,0) width 62: "M, L, L, L, Z"
           KCanvasItem {path} at (16.51,99) size 190.18x164.70 [stroke={[type=SOLID] [color=#000000]}] [data="M62.00,56.00L113.96,146.00L10.04,146.00L62.00,56.00M62.00,71.00L100.97,138.50L23.03,138.50L62.00,71.00"]
           KCanvasItem {rect} at (108,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M60.00,54.00L64.00,54.00L64.00,58.00L60.00,58.00"]
           KCanvasItem {rect} at (201.53,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M111.96,144.00L115.96,144.00L115.96,148.00L111.96,148.00"]
@@ -10,6 +19,9 @@
           KCanvasItem {rect} at (108,124.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M60.00,69.00L64.00,69.00L64.00,73.00L60.00,73.00"]
           KCanvasItem {rect} at (178.15,245.70) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M98.97,136.50L102.97,136.50L102.97,140.50L98.97,140.50"]
           KCanvasItem {rect} at (37.85,245.70) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M21.03,136.50L25.03,136.50L25.03,140.50L21.03,140.50"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 40x14
+              text run at (0,0) width 40: "stroked"
           KCanvasItem {path} at (225.07,100.80) size 187.06x162 [fill={[type=SOLID] [color=#FF0000] [fill rule=EVEN-ODD]}] [data="M177.00,56.00L228.96,146.00L125.04,146.00L177.00,56.00M177.00,71.00L215.97,138.50L138.03,138.50L177.00,71.00"]
           KCanvasItem {rect} at (315,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M175.00,54.00L179.00,54.00L179.00,58.00L175.00,58.00"]
           KCanvasItem {rect} at (408.53,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M226.96,144.00L230.96,144.00L230.96,148.00L226.96,148.00"]
@@ -17,4 +29,10 @@
           KCanvasItem {rect} at (315,124.20) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M175.00,69.00L179.00,69.00L179.00,73.00L175.00,73.00"]
           KCanvasItem {rect} at (385.15,245.70) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M213.97,136.50L217.97,136.50L217.97,140.50L213.97,140.50"]
           KCanvasItem {rect} at (244.85,245.70) size 7.20x7.20 [fill={[type=SOLID] [color=#00C000]}] [data="M136.03,136.50L140.03,136.50L140.03,140.50L136.03,140.50"]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 26x14
+              text run at (0,0) width 26: "filled"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum
index 263985b..6522ada 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum
@@ -1 +1 @@
-76f3b18229b2a81fb061d5749fe59920
\ No newline at end of file
+7ba9b09033026e479f657a2bd5d33a2f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.png
index 59328b1..e376872 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
index bbb4b21..348f297 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
@@ -3,6 +3,15 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (14.47,68.40) size 401.26x169.20
         KCanvasContainer {g} at (14.47,68.40) size 401.26x169.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,-270.00)}]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 52x14
+              text run at (0,0) width 52: "m, l, l, l, z,"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 44x14
+              text run at (0,0) width 44: "subpath"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 49x14
+              text run at (0,0) width 49: "m, l, l, l, z"
           KCanvasItem {path} at (16.51,70.20) size 190.18x164.70 [stroke={[type=SOLID] [color=#000000]}] [data="M62.00,190.00L113.96,280.00L10.04,280.00L62.00,190.00M62.00,205.00L100.97,272.50L23.06,272.50L62.03,205.00"]
           KCanvasItem {rect} at (108,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M60.00,188.00L64.00,188.00L64.00,192.00L60.00,192.00"]
           KCanvasItem {rect} at (201.53,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M111.96,278.00L115.96,278.00L115.96,282.00L111.96,282.00"]
@@ -17,4 +26,7 @@
           KCanvasItem {rect} at (315,95.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M175.00,203.00L179.00,203.00L179.00,207.00L175.00,207.00"]
           KCanvasItem {rect} at (385.15,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M213.97,270.50L217.97,270.50L217.97,274.50L213.97,274.50"]
           KCanvasItem {rect} at (244.85,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M136.03,270.50L140.03,270.50L140.03,274.50L136.03,274.50"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum
index 84f066d..5a3b678 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum
@@ -1 +1 @@
-29eabd36d30d6174224f5855e5757085
\ No newline at end of file
+3e959feb384c52d52a990723b74b79c8
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.png
index d613e2f..3c398e3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
index 1dc92c0..9535a9e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
@@ -3,6 +3,15 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (68.40,97.20) size 367.20x169.20
         KCanvasContainer {g} at (68.40,97.20) size 367.20x169.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(-360.00,0.00)}]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 57x14
+              text run at (0,0) width 57: "M, H, V, H,"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 55x14
+              text run at (0,0) width 55: "V. H, V, H,"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 21x14
+              text run at (0,0) width 21: "V, Z"
           KCanvasItem {path} at (71.10,99.90) size 163.80x163.80 [stroke={[type=SOLID] [color=#000000]}] [data="M240.00,56.00L270.00,56.00L270.00,86.00L300.00,86.00L300.00,116.00L330.00,116.00L330.00,146.00L240.00,146.00L240.00,56.00"]
           KCanvasItem {rect} at (68.40,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M238.00,54.00L242.00,54.00L242.00,58.00L238.00,58.00"]
           KCanvasItem {rect} at (122.40,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M268.00,54.00L272.00,54.00L272.00,58.00L268.00,58.00"]
@@ -21,4 +30,7 @@
           KCanvasItem {rect} at (428.40,205.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M438.00,114.00L442.00,114.00L442.00,118.00L438.00,118.00"]
           KCanvasItem {rect} at (428.40,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M438.00,144.00L442.00,144.00L442.00,148.00L438.00,148.00"]
           KCanvasItem {rect} at (266.40,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M348.00,144.00L352.00,144.00L352.00,148.00L348.00,148.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum
index 406a492..197e445 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum
@@ -1 +1 @@
-df023af0a0d859e0e8412d2eab90b795
\ No newline at end of file
+24f497be7288b5092fafe117ec37e3e9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.png
index c21cc88..4aa1f4c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
index a30119d..f489937 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
@@ -3,6 +3,15 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (68.40,68.40) size 367.20x169.20
         KCanvasContainer {g} at (68.40,68.40) size 367.20x169.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(-360.00,-270.00)}]
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 48x14
+              text run at (0,0) width 48: "m, h, v, h"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 44x14
+              text run at (0,0) width 44: "v, h, v, h"
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 18x14
+              text run at (0,0) width 18: "v, z"
           KCanvasItem {path} at (71.10,71.10) size 163.80x163.80 [stroke={[type=SOLID] [color=#000000]}] [data="M240.00,190.00L270.00,190.00L270.00,220.00L300.00,220.00L300.00,250.00L330.00,250.00L330.00,280.00L240.00,280.00L240.00,190.00"]
           KCanvasItem {rect} at (68.40,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M238.00,188.00L242.00,188.00L242.00,192.00L238.00,192.00"]
           KCanvasItem {rect} at (122.40,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M268.00,188.00L272.00,188.00L272.00,192.00L268.00,192.00"]
@@ -21,4 +30,7 @@
           KCanvasItem {rect} at (428.40,176.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M438.00,248.00L442.00,248.00L442.00,252.00L438.00,252.00"]
           KCanvasItem {rect} at (428.40,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M438.00,278.00L442.00,278.00L442.00,282.00L438.00,282.00"]
           KCanvasItem {rect} at (266.40,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M348.00,278.00L352.00,278.00L352.00,282.00L348.00,282.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum
index 14f46c4..f82c5da 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum
@@ -1 +1 @@
-014b55aaf4c8c49bc9f39a04521abb2c
\ No newline at end of file
+db4aaf0f635be61ec84e66f3690308a0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png
index cbad77f..d752316 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt
index 7b86f16..7a0c709 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt
@@ -5,5 +5,14 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,20) size 440x210
         KCanvasItem {rect} at (20,20) size 440x80 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M20.00,20.00L460.00,20.00L460.00,100.00L20.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 211x34
+            text run at (0,0) width 211: "Linear gradient."
         KCanvasItem {rect} at (20,150) size 440x80 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M20.00,150.00L460.00,150.00L460.00,230.00L20.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 378x34
+            text run at (0,0) width 378: "Referencing gradient below."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum
index b11c315..a559750 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum
@@ -1 +1 @@
-90ac4073abf6652a48d23e9783383e3f
\ No newline at end of file
+66d31c9068a4edd4a9eca039d79fd57e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png
index 36b91b8..a098018 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt
index 146345a..b19602a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt
@@ -5,5 +5,14 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,20) size 440x210
         KCanvasItem {rect} at (20,20) size 440x80 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(50,50)] [focal=(50,50)] [radius=50.00]}] [data="M20.00,20.00L460.00,20.00L460.00,100.00L20.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 213x34
+            text run at (0,0) width 213: "Radial gradient."
         KCanvasItem {rect} at (20,150) size 440x80 [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(240,190)] [focal=(240,190)] [radius=40.00]}] [data="M20.00,150.00L460.00,150.00L460.00,230.00L20.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 378x34
+            text run at (0,0) width 378: "Referencing gradient below."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum
index a4bdfaa..f509aae 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum
@@ -1 +1 @@
-cff4f2ac4cbdc6cd370d923afaf25869
\ No newline at end of file
+0cda203c72fb03f2f71f6515dc5f58fb
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png
index 3dcd22d..a1350d1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
index d40148e..125fe2d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
@@ -11,5 +11,14 @@
           KCanvasItem {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00L20.00,10.00L20.00,20.00L10.00,20.00"]
         KCanvasContainer {pattern} at (0,0) size 0x0
         KCanvasItem {rect} at (20,20) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M20.00,20.00L460.00,20.00L460.00,100.00L20.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 142x34
+            text run at (0,0) width 142: "Pattern fill."
         KCanvasItem {rect} at (20,150) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M20.00,150.00L460.00,150.00L460.00,230.00L20.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 399x34
+            text run at (0,0) width 399: "Referencing pattern fill below."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum
index 889f94a..a1943e7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum
@@ -1 +1 @@
-41f0a17e1d919d8e80260b0438a48db4
\ No newline at end of file
+5c2660f565196fad7e2d66774cf166d9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png
index 34d7104..e0ac1f2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt
index 65fdc7d..6f94b5a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt
@@ -5,5 +5,14 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,20) size 440x210
         KCanvasItem {rect} at (20,20) size 440x80 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,100)]}] [data="M20.00,20.00L460.00,20.00L460.00,100.00L20.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 349x34
+            text run at (0,0) width 349: "Multi-color linear gradient."
         KCanvasItem {rect} at (20,150) size 440x80 [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(240,210)] [focal=(240,210)] [radius=220.00]}] [data="M20.00,150.00L460.00,150.00L460.00,230.00L20.00,230.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 349x34
+            text run at (0,0) width 349: "Multi-color radial gradient."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum
index cb08e3b..6bb95f8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum
@@ -1 +1 @@
-4eab5ea7fa0cb8c7f64b826a9d915d7d
\ No newline at end of file
+146f2bd4c7b83a3de07db2a1d938ee9d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png
index 5c85540..f797a9f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt
index 65fdc7d..2225ad2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt
@@ -4,6 +4,15 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (20,20) size 440x210
+        RenderSVGText {text} at (0,0) size 465x69
+          RenderText {TEXT} at (0,1) size 318x69
+            text run at (0,1) width 318: "Background"
         KCanvasItem {rect} at (20,20) size 440x80 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,100)]}] [data="M20.00,20.00L460.00,20.00L460.00,100.00L20.00,100.00"]
+        RenderSVGText {text} at (0,0) size 465x69
+          RenderText {TEXT} at (0,1) size 318x69
+            text run at (0,1) width 318: "Background"
         KCanvasItem {rect} at (20,150) size 440x80 [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(240,210)] [focal=(240,210)] [radius=220.00]}] [data="M20.00,150.00L460.00,150.00L460.00,230.00L20.00,230.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum
index 7c3bff2..9a8ba79 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum
@@ -1 +1 @@
-fbd555a75eb6d397b7ebd4ebedfde735
\ No newline at end of file
+b76a5dc30dcf4363ce87bfd6228ae9b4
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png
index e92524d..afca1d8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
index 0afa90f..daa83d0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
@@ -6,11 +6,23 @@
     KCanvasContainer {svg} at (0,0) size 479.50x359.50
       KCanvasContainer {g} at (0,0) size 460x260
         KCanvasItem {rect} at (20,20) size 440x50 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [transform={m=((0.50,0.00)(0.00,0.50)) t=(25.00,35.00)}] [start=(0,0)] [end=(430,0)]}] [data="M20.00,20.00L460.00,20.00L460.00,70.00L20.00,70.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 293x34
+            text run at (0,0) width 293: "scale(0.5) on gradient"
         KCanvasItem {rect} at (20,110) size 440x50 [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [transform={m=((1.00,0.00)(1.00,1.00)) t=(240.00,155.00)}] [center=(0,0)] [focal=(0,0)] [radius=60.00]}] [data="M20.00,110.00L460.00,110.00L460.00,160.00L20.00,160.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 303x34
+            text run at (0,0) width 303: "skewX(45) on gradient"
         KCanvasContainer {pattern} at (0,0) size 20x20
           KCanvasItem {rect} at (0,0) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasItem {rect} at (10,0) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,0.00L20.00,0.00L20.00,10.00L10.00,10.00"]
           KCanvasItem {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,10.00L10.00,10.00L10.00,20.00L0.00,20.00"]
           KCanvasItem {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00L20.00,10.00L20.00,20.00L10.00,20.00"]
         KCanvasItem {rect} at (20,210) size 440x50 [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M20.00,210.00L460.00,210.00L460.00,260.00L20.00,260.00"]
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 411x34
+            text run at (0,0) width 411: "scale(2), skewX(45) on pattern"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum
index 62e46dd..5d06164 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum
@@ -1 +1 @@
-6993aab5567fe6aacf4a0ebe90ebc9de
\ No newline at end of file
+ef7f0146089007ad410220f7eb8b0af8
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png
index ff9cee5..b30d8e1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt
index 35b4f90..452aff1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt
@@ -4,5 +4,14 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,15) size 430x210 [transform={m=((1.00,0.00)(0.00,1.50)) t=(0.00,0.00)}]
         KCanvasItem {rect} at (10,15) size 430x90 [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,10)] [end=(440,10)]}] [data="M10.00,10.00L440.00,10.00L440.00,70.00L10.00,70.00"]
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 316x28
+            text run at (0,0) width 316: "Linear gradient filled rectangle"
         KCanvasItem {rect} at (15,150) size 420x75 [stroke={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(10,10)] [end=(440,10)] [stroke width=20.00]}] [data="M25.00,110.00L425.00,110.00L425.00,140.00L25.00,140.00"]
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 393x28
+            text run at (0,0) width 393: "Linear gradient on stroke of rectangle"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum
index 8a71cb4..eae9bb0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+fe8fbd0eb5a592b1709051b08a99e882
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
index fd25073..46d3fae 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt
index e9591bc..62d70b9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt
@@ -3,4 +3,19 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0 [transform={m=((1.00,0.00)(0.00,1.50)) t=(0.00,0.00)}]
+        RenderSVGText {text} at (0,0) size 465x78
+          RenderText {TEXT} at (0,0) size 440x78
+            text run at (0,0) width 440: "Gradient on fill"
+        RenderSVGText {text} at (0,0) size 465x63
+          RenderText {TEXT} at (0,0) size 455x63
+            text run at (0,0) width 455: "Gradient on stroke"
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 342x36
+          text run at (0,0) width 342: "Linear gradient on filled text"
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 386x36
+          text run at (0,0) width 386: "Linear gradient on stroke of text"
+      RenderSVGText {text} at (0,0) size 465x59
+        RenderText {TEXT} at (0,0) size 392x59
+          text run at (0,0) width 392: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum
index 80f6d29..6f90b5f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum
@@ -1 +1 @@
-1eaf6d825972d434bfb52700ab74582f
\ No newline at end of file
+40141b2ae6b2d41864ac8980e0dd5d5c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png
index cc6bbe5..78abe91 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
index 8cb4690..e522fe9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
@@ -5,7 +5,31 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10.00,35) size 430x225
+        RenderSVGText {text} at (0,0) size 465x17
+          RenderText {TEXT} at (0,0) size 194x17
+            text run at (0,0) width 194: "Testing gradientUnits attribute"
         KCanvasItem {rect} at (125,35) size 200x50 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(100,0)]}] [data="M125.00,35.00L325.00,35.00L325.00,85.00L125.00,85.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 397x14
+            text run at (0,0) width 397: "Linear gradient with default attributes (thus, same as objectBoundingBox)"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 363x14
+            text run at (0,0) width 363: "Gradient is from the object left edge (red) to object right edge (blue)"
         KCanvasItem {rect} at (10,125) size 430x50 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(0,0)] [end=(0,100)]}] [data="M10.00,125.00L440.00,125.00L440.00,175.00L10.00,175.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 187x14
+            text run at (0,0) width 187: "gradientUnits=objectBoundingBox"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 377x14
+            text run at (0,0) width 377: "Gradient is from the object top edge (blue) to object bottom edge (red)"
         KCanvasItem {rect} at (10.00,210.00) size 430x50 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(10.00,260.00)}] [fill={[type=LINEAR-GRADIENT] [stops=[]] [bounding box mode=0] [start=(0,0)] [end=(0,430)]}] [data="M0.00,0.00L50.00,0.00L50.00,430.00L0.00,430.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 177x14
+            text run at (0,0) width 177: "gradientUnits=userSpaceOnUse"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 363x14
+            text run at (0,0) width 363: "Gradient is from the object left edge (red) to object right edge (blue)"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum
index 4df1148..d383924 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum
@@ -1 +1 @@
-675adc3a1b994e693b9f85ef88b50b8c
\ No newline at end of file
+dba0b590be30c4a8dbef0965012aee06
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png
index d2a941f..9a12f3b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt
index 1c296ef..c99298a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt
@@ -5,7 +5,22 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,35) size 460x225
+        RenderSVGText {text} at (0,0) size 465x17
+          RenderText {TEXT} at (0,0) size 201x17
+            text run at (0,0) width 201: "Testing spreadMethod attribute"
         KCanvasItem {rect} at (10,35) size 460x55 [fill={[type=LINEAR-GRADIENT] [stops=[]] [start=(40,0)] [end=(60,0)]}] [data="M10.00,35.00L470.00,35.00L470.00,90.00L10.00,90.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 107x14
+            text run at (0,0) width 107: "spreadMethod=pad"
         KCanvasItem {rect} at (10,120) size 460x55 [fill={[type=LINEAR-GRADIENT] [stops=[]][method=REFLECT] [start=(40,0)] [end=(60,0)]}] [data="M10.00,120.00L470.00,120.00L470.00,175.00L10.00,175.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 119x14
+            text run at (0,0) width 119: "spreadMethod=reflect"
         KCanvasItem {rect} at (10,205) size 460x55 [fill={[type=LINEAR-GRADIENT] [stops=[]][method=REPEAT] [start=(40,0)] [end=(60,0)]}] [data="M10.00,205.00L470.00,205.00L470.00,260.00L10.00,260.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 121x14
+            text run at (0,0) width 121: "spreadMethod=repeat"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum
index e3d22d2..f714514 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum
@@ -1 +1 @@
-84ef5afd2021e872b53354d3fb285aef
\ No newline at end of file
+7a8c27e6081a1f120cc237b077339d21
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
index f8510f6..3e2984a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt
index dcd58fa..f1ae4a4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt
@@ -7,5 +7,26 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10,10) size 430x140
         KCanvasItem {rect} at (10,10) size 210x140 [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(75,100)] [focal=(75,100)] [radius=130.00]}] [data="M10.00,10.00L220.00,10.00L220.00,150.00L10.00,150.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 183x14
+            text run at (0,0) width 183: "Radial gradient on fill of rectangle"
         KCanvasItem {rect} at (230,10) size 210x140 [stroke={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(295,100)] [focal=(295,100)] [radius=150.00] [stroke width=40.00]}] [data="M250.00,30.00L420.00,30.00L420.00,130.00L250.00,130.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 204x14
+            text run at (0,0) width 204: "Radial gradient on stroke of rectangle"
+        RenderSVGText {text} at (0,0) size 465x58
+          RenderText {TEXT} at (0,1) size 419x58
+            text run at (0,1) width 419: "Gradient on text fill"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 209x14
+            text run at (0,0) width 209: "Radial gradient on text, black to yellow"
+        RenderSVGText {text} at (0,0) size 465x52
+          RenderText {TEXT} at (0,0) size 460x52
+            text run at (0,0) width 460: "Gradient on text stroke"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 241x14
+            text run at (0,0) width 241: "Radial gradient on stroke of text, black to red"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum
index 4ba440c..27b6a09 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum
@@ -1 +1 @@
-325781d49eb4b829fb0dfc33e359f232
\ No newline at end of file
+8e05e6a091e4d2fcc6de6182aea55268
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png
index c9c2151..1300dd3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
index 2e31da1..cd74753 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
@@ -5,7 +5,31 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (10.00,35) size 460x225
+        RenderSVGText {text} at (0,0) size 465x17
+          RenderText {TEXT} at (0,0) size 194x17
+            text run at (0,0) width 194: "Testing gradientUnits attribute"
         KCanvasItem {rect} at (10,35) size 460x50 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(50,50)] [focal=(50,50)] [radius=50.00]}] [data="M10.00,35.00L470.00,35.00L470.00,85.00L10.00,85.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 298x14
+            text run at (0,0) width 298: "Radial gradient with default attributes (from blue to red)"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 343x14
+            text run at (0,0) width 343: "Gradient is blue at the object center and red at the object edges"
         KCanvasItem {rect} at (10,125) size 460x50 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(20,20)] [focal=(20,20)] [radius=50.00]}] [data="M10.00,125.00L470.00,125.00L470.00,175.00L10.00,175.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 187x14
+            text run at (0,0) width 187: "gradientUnits=objectBoundingBox"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 152x14
+            text run at (0,0) width 152: "cx=.2, cy=.2, r=.5, fx=.2 fy=.2"
         KCanvasItem {rect} at (10.00,210.00) size 460x50 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(10.00,260.00)}] [fill={[type=RADIAL-GRADIENT] [stops=[]] [bounding box mode=0] [center=(25,215)] [focal=(25,215)] [radius=25.00]}] [data="M0.00,0.00L50.00,0.00L50.00,460.00L0.00,460.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 177x14
+            text run at (0,0) width 177: "gradientUnits=userSpaceOnUse"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 380x14
+            text run at (0,0) width 380: "Gradient is red to blue radial gradiant from center to horizontal bounds"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum
index 97dea26..cdd9aa3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum
@@ -1 +1 @@
-2ac7b504147a4c4c56375cba23ad8588
\ No newline at end of file
+ad22b0118f7b73eeaddcdd6b01a6459c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
index 4162ccf..3ab5217 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
index 7924810..f213077 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
@@ -10,16 +10,37 @@
           KCanvasItem {rect} at (5,5) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M5.00,5.00L15.00,5.00L15.00,15.00L5.00,15.00"]
           KCanvasItem {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,10.00L20.00,10.00L20.00,20.00L10.00,20.00"]
         KCanvasItem {rect} at (24.50,9.50) size 431x61 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 0x0]}] [data="M25.00,10.00L455.00,10.00L455.00,70.00L25.00,70.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 395x14
+            text run at (0,0) width 395: "Pattern created using red and green rectangles applied to fill of rectangle"
         KCanvasContainer {pattern} at (0,0) size 20x20
           KCanvasItem {rect} at (0,0) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasItem {rect} at (10,0) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,0.00L20.00,0.00L20.00,10.00L10.00,10.00"]
           KCanvasItem {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,10.00L10.00,10.00L10.00,20.00L0.00,20.00"]
           KCanvasItem {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00L20.00,10.00L20.00,20.00L10.00,20.00"]
         KCanvasItem {rect} at (25,100) size 430x60 [stroke={[type=PATTERN] [bbox=at (0,0) size 0x0] [stroke width=20.00]}] [data="M35.00,110.00L445.00,110.00L445.00,150.00L35.00,150.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 305x14
+            text run at (0,0) width 305: "Pattern of 4 rectangles applied to a stroke of a rectangle."
         KCanvasContainer {pattern} at (0,0) size 10x20
           KCanvasItem {rect} at (0,0) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasItem {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,10.00L10.00,10.00L10.00,20.00L0.00,20.00"]
+        RenderSVGText {text} at (0,0) size 465x58
+          RenderText {TEXT} at (0,1) size 293x58
+            text run at (0,1) width 293: "Pattern on fill"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 208x14
+            text run at (0,0) width 208: "Pattern consists of red and green rows"
         KCanvasContainer {pattern} at (0,0) size 20x10
           KCanvasItem {rect} at (0,0) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L10.00,0.00L10.00,10.00L0.00,10.00"]
           KCanvasItem {rect} at (10,0) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M10.00,0.00L20.00,0.00L20.00,10.00L10.00,10.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 302x45
+            text run at (0,0) width 302: "Pattern on stroke"
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 220x14
+            text run at (0,0) width 220: "Pattern consists of red and blue columns"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum
index aa1b58a..d3c3183 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.checksum
@@ -1 +1 @@
-463329caf2e1ab719ac125e4c49e5e89
\ No newline at end of file
+e5f286fcd75f7fb5c94321ddc8d36778
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.png
index d986139..944479d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt
index cd014e7..155245b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt
@@ -7,4 +7,10 @@
             KCanvasItem {path} at (30,80) size 180x180 [fill={[type=SOLID] [color=#FF0000]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
           KCanvasContainer {g} at (230,80) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
             KCanvasItem {path} at (230,80) size 180x180 [fill={[type=SOLID] [color=#000000]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
+          RenderSVGText {text} at (0,0) size 465x32
+            RenderText {TEXT} at (0,0) size 108x32
+              text run at (0,0) width 108: "Shape fill"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum
index e5b88bf..1430f53 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.checksum
@@ -1 +1 @@
-6abade093fca2c0f32a1fa4a5a4bf330
\ No newline at end of file
+9a2a03bf526a042563031836901d18f1
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.png
index b2dfd5b..7641cef 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt
index ddc466f..f072e3a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt
@@ -7,4 +7,10 @@
             KCanvasItem {path} at (28.50,78.50) size 183x183 [stroke={[type=SOLID] [color=#FF0000] [stroke width=3.00]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
           KCanvasContainer {g} at (225.50,75.50) size 189x189 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
             KCanvasItem {path} at (225.50,75.50) size 189x189 [stroke={[type=SOLID] [color=#000000] [stroke width=9.00]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
+          RenderSVGText {text} at (0,0) size 465x32
+            RenderText {TEXT} at (0,0) size 143x32
+              text run at (0,0) width 143: "Shape stroke"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum
index 8a71cb4..bdf87d0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+3de80494cce7b32a2969d91fcc06cf0d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
index fd25073..d9a12eb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt
index 1df5913..707dfe5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt
@@ -2,5 +2,17 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x36
+          RenderText {TEXT} at (0,0) size 96x36
+            text run at (0,0) width 96: "Text fill"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "A"
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "A"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum
index 8a71cb4..971dcc4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+65b8425d43c2823ac5db8ced61943c24
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
index fd25073..e2325f6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt
index 2e21148..977786d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt
@@ -2,5 +2,17 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0.50,0.50) size 479x359
+        RenderSVGText {text} at (0,0) size 465x36
+          RenderText {TEXT} at (0,0) size 135x36
+            text run at (0,0) width 135: "Text stroke"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "A"
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "B"
+        RenderSVGText {text} at (0,0) size 465x46
+          RenderText {TEXT} at (0,0) size 314x46
+            text run at (0,0) width 314: "$Revision$"
         KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum
index 8a71cb4..895b352 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+4346e7125d578552b3d41dc645bdad64
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
index fd25073..71c38a9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt
index 2e21148..0e1bbfe 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt
@@ -2,5 +2,17 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0.50,0.50) size 479x359
+        RenderSVGText {text} at (0,0) size 465x36
+          RenderText {TEXT} at (0,0) size 228x36
+            text run at (0,0) width 228: "Text fill and stroke"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "A"
+          RenderSVGText {text} at (0,0) size 465x345
+            RenderText {TEXT} at (0,0) size 200x345
+              text run at (0,0) width 200: "B"
+        RenderSVGText {text} at (0,0) size 465x46
+          RenderText {TEXT} at (0,0) size 314x46
+            text run at (0,0) width 314: "$Revision$"
         KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum
index 429312d..4d82a3b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum
@@ -1 +1 @@
-f767a218c103172f439937aa2002bd48
\ No newline at end of file
+c059741ffaa2ed8551057121073ba0a7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.png
index 081df5d..99988b0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt
index 05cadd1..d5fb234 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt
@@ -14,6 +14,12 @@
           KCanvasItem {line} at (436.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00L250.00,175.00"]
           KCanvasItem {rect} at (35.10,17.10) size 415.80x280.80 [stroke={[type=SOLID] [color=#000000]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"]
           KCanvasContainer {g} at (126,99) size 309.60x180 [opacity=0.50]
+            RenderSVGText {text} at (0,0) size 465x138
+              RenderText {TEXT} at (0,0) size 253x138
+                text run at (0,0) width 253: "SVG"
             KCanvasItem {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [data="M70.00,55.00L200.00,55.00L200.00,125.00L70.00,125.00"]
             KCanvasItem {image} at (291.60,135) size 144x144 [fill={[type=IMAGE] [bounding box=at (0,0) size 80x80]}] [data="M162.00,75.00L242.00,75.00L242.00,155.00L162.00,155.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum
index d55f473..d361f80 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum
@@ -1 +1 @@
-623f6b51f30e03d2dc3e832f3cb2a2bf
\ No newline at end of file
+93b9a5f896c6cfa4ddfcd132d6fc4f57
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.png
index f176e75..9715323 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt
index e59ae21..cc359a4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt
@@ -13,6 +13,12 @@
           KCanvasItem {line} at (382.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M220.00,10.00L220.00,175.00"]
           KCanvasItem {line} at (436.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00L250.00,175.00"]
           KCanvasItem {rect} at (35.10,17.10) size 415.80x280.80 [stroke={[type=SOLID] [color=#000000]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"]
+          RenderSVGText {text} at (0,0) size 465x138
+            RenderText {TEXT} at (0,0) size 253x138
+              text run at (0,0) width 253: "SVG"
           KCanvasItem {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [data="M70.00,55.00L200.00,55.00L200.00,125.00L70.00,125.00"]
           KCanvasItem {image} at (291.60,135) size 144x144 [fill={[type=IMAGE] [bounding box=at (0,0) size 80x80]}] [data="M162.00,75.00L242.00,75.00L242.00,155.00L162.00,155.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum
index 0eda0fc..fdbd422 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum
@@ -1 +1 @@
-216635ae9c09a616d5ecccd891c6bf5c
\ No newline at end of file
+d700bea0a8cc693a597aa371b7f269ab
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.png
index f1ab268..221a77a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt
index 5f1104a..eafb3e8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt
@@ -2,10 +2,22 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (60,160) size 20x20
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 186x18
+            text run at (0,0) width 186: "Event and DOM Access Test"
         KCanvasContainer {g} at (60,160) size 20x20
           KCanvasContainer {g} at (60,160) size 20x20
+            RenderSVGText {text} at (0,0) size 465x18
+              RenderText {TEXT} at (0,0) size 93x18
+                text run at (0,0) width 93: "Click on target"
             KCanvasItem {rect} at (60,160) size 20x20 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M60.00,160.00L80.00,160.00L80.00,180.00L60.00,180.00"]
             KCanvasItem {line} at (60,169.75) size 20x0.50 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000000]}] [data="M60.00,170.00L80.00,170.00"]
             KCanvasItem {line} at (69.75,160) size 0.50x20 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000000]}] [data="M70.00,160.00L70.00,180.00"]
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x36
+              RenderText {TEXT} at (0,0) size 286x36
+                text run at (0,0) width 286: "Scripting Test Passed!"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum
index db4c98e..9eca551 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.checksum
@@ -1 +1 @@
-7d72eb24f7be35fe61952b1647b2c38e
\ No newline at end of file
+5fcdb7c932fa4ce7b6ade06c7fc75866
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.png
index 7aa0e83..e702f77 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt
index cfc184b..8ae3a3a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt
@@ -2,7 +2,16 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (29.50,109.50) size 61.00x162.50
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 258x28
+            text run at (0,0) width 258: "Mouse event handlers test."
         KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
+          RenderSVGText {text} at (0,0) size 465x37
+            RenderText {TEXT} at (0,0) size 84x37
+              text run at (0,0) width 84: "Target"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 299x28
+              text run at (0,0) width 299: "Use the target to trigger events"
           KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00
             KCanvasItem {circle} at (29.50,109.50) size 61.00x61.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [data="M30.00,0.00L29.94,1.88L29.76,3.76L29.47,5.62L29.06,7.46L28.53,9.27L27.89,11.04L27.14,12.77L26.29,14.45L25.33,16.07L24.27,17.63L23.12,19.12L21.87,20.54L20.54,21.87L19.12,23.12L17.63,24.27L16.07,25.33L14.45,26.29L12.77,27.14L11.04,27.89L9.27,28.53L7.46,29.06L5.62,29.47L3.76,29.76L1.88,29.94L0.00,30.00L-1.88,29.94L-3.76,29.76L-5.62,29.47L-7.46,29.06L-9.27,28.53L-11.04,27.89L-12.77,27.14L-14.45,26.29L-16.07,25.33L-17.63,24.27L-19.12,23.12L-20.54,21.87L-21.87,20.54L-23.12,19.12L-24.27,17.63L-25.33,16.07L-26.29,14.45L-27.14,12.77L-27.89,11.04L-28.53,9.27L-29.06,7.46L-29.47,5.62L-29.76,3.76L-29.94,1.88L-30.00,0.00L-29.94,-1.88L-29.76,-3.76L-29.47,-5.62L-29.06,-7.46L-28.53,-9.27L-27.89,-11.04L-27.14,-12.77L-26.29,-14.45L-25.33,-16.07L-24.27,-17.63L-23.12,-19.12L-21.87,-20.54L-20.54,-21.87L-19.12,-23.12L-17.63,-24.27L-16.07,-25.33L-14.45,-26.29L-12.77,-27.14L-11.04,-27.89L-9.27,-28.53L-7.46,-29.06L-5.62,-29.47L-3.76,-29.76L-1.88,-29.94L-0.00,-30.00L1.88,-29.94L3.76,-29.76L5.62,-29.47L7.46,-29.06L9.27,-28.53L11.04,-27.89L12.77,-27.14L14.45,-26.29L16.07,-25.33L17.63,-24.27L19.12,-23.12L20.54,-21.87L21.87,-20.54L23.12,-19.12L24.27,-17.63L25.33,-16.07L26.29,-14.45L27.14,-12.77L27.89,-11.04L28.53,-9.27L29.06,-7.46L29.47,-5.62L29.76,-3.76L29.94,-1.88"]
             KCanvasItem {line} at (30,140) size 60x0 [fill={[type=SOLID] [color=#000000]}] [data="M-30.00,0.00L30.00,0.00"]
@@ -10,6 +19,15 @@
         KCanvasContainer {g} at (50,192) size 20x80
           KCanvasContainer {g} at (50,192) size 20x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(65.00,190.00)}]
             KCanvasContainer {g} at (65,190) size 0x0
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 126x37
+                  text run at (0,0) width 126: "onfocusin"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 142x37
+                  text run at (0,0) width 142: "onfocusout"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 131x37
+                  text run at (0,0) width 131: "onactivate"
             KCanvasContainer {g} at (50,192) size 20x80
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
@@ -17,4 +35,7 @@
               KCanvasItem {rect} at (50,222) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,32.00L5.00,32.00L5.00,52.00L-15.00,52.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum
index db4c98e..aac30ed 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.checksum
@@ -1 +1 @@
-7d72eb24f7be35fe61952b1647b2c38e
\ No newline at end of file
+dd587c9895bb7ce2b429f53a05f6e8b7
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.png
index 7aa0e83..2b6f973 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt
index cfc184b..173ffe6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt
@@ -2,7 +2,16 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (29.50,109.50) size 61.00x162.50
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 258x28
+            text run at (0,0) width 258: "Mouse event handlers test."
         KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
+          RenderSVGText {text} at (0,0) size 465x37
+            RenderText {TEXT} at (0,0) size 84x37
+              text run at (0,0) width 84: "Target"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 299x28
+              text run at (0,0) width 299: "Use the target to trigger events"
           KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00
             KCanvasItem {circle} at (29.50,109.50) size 61.00x61.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [data="M30.00,0.00L29.94,1.88L29.76,3.76L29.47,5.62L29.06,7.46L28.53,9.27L27.89,11.04L27.14,12.77L26.29,14.45L25.33,16.07L24.27,17.63L23.12,19.12L21.87,20.54L20.54,21.87L19.12,23.12L17.63,24.27L16.07,25.33L14.45,26.29L12.77,27.14L11.04,27.89L9.27,28.53L7.46,29.06L5.62,29.47L3.76,29.76L1.88,29.94L0.00,30.00L-1.88,29.94L-3.76,29.76L-5.62,29.47L-7.46,29.06L-9.27,28.53L-11.04,27.89L-12.77,27.14L-14.45,26.29L-16.07,25.33L-17.63,24.27L-19.12,23.12L-20.54,21.87L-21.87,20.54L-23.12,19.12L-24.27,17.63L-25.33,16.07L-26.29,14.45L-27.14,12.77L-27.89,11.04L-28.53,9.27L-29.06,7.46L-29.47,5.62L-29.76,3.76L-29.94,1.88L-30.00,0.00L-29.94,-1.88L-29.76,-3.76L-29.47,-5.62L-29.06,-7.46L-28.53,-9.27L-27.89,-11.04L-27.14,-12.77L-26.29,-14.45L-25.33,-16.07L-24.27,-17.63L-23.12,-19.12L-21.87,-20.54L-20.54,-21.87L-19.12,-23.12L-17.63,-24.27L-16.07,-25.33L-14.45,-26.29L-12.77,-27.14L-11.04,-27.89L-9.27,-28.53L-7.46,-29.06L-5.62,-29.47L-3.76,-29.76L-1.88,-29.94L-0.00,-30.00L1.88,-29.94L3.76,-29.76L5.62,-29.47L7.46,-29.06L9.27,-28.53L11.04,-27.89L12.77,-27.14L14.45,-26.29L16.07,-25.33L17.63,-24.27L19.12,-23.12L20.54,-21.87L21.87,-20.54L23.12,-19.12L24.27,-17.63L25.33,-16.07L26.29,-14.45L27.14,-12.77L27.89,-11.04L28.53,-9.27L29.06,-7.46L29.47,-5.62L29.76,-3.76L29.94,-1.88"]
             KCanvasItem {line} at (30,140) size 60x0 [fill={[type=SOLID] [color=#000000]}] [data="M-30.00,0.00L30.00,0.00"]
@@ -10,6 +19,15 @@
         KCanvasContainer {g} at (50,192) size 20x80
           KCanvasContainer {g} at (50,192) size 20x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(65.00,190.00)}]
             KCanvasContainer {g} at (65,190) size 0x0
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 186x37
+                  text run at (0,0) width 186: "onmousedown"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 147x37
+                  text run at (0,0) width 147: "onmouseup"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 94x37
+                  text run at (0,0) width 94: "onclick"
             KCanvasContainer {g} at (50,192) size 20x80
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
@@ -17,4 +35,7 @@
               KCanvasItem {rect} at (50,222) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,32.00L5.00,32.00L5.00,52.00L-15.00,52.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum
index db4c98e..818bac2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.checksum
@@ -1 +1 @@
-7d72eb24f7be35fe61952b1647b2c38e
\ No newline at end of file
+865e970b550a2819e9ac916eca34d2d3
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.png
index 7aa0e83..7e8ff09 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt
index cfc184b..2a54a52 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt
@@ -2,7 +2,16 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (29.50,109.50) size 61.00x162.50
+        RenderSVGText {text} at (0,0) size 465x28
+          RenderText {TEXT} at (0,0) size 258x28
+            text run at (0,0) width 258: "Mouse event handlers test."
         KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
+          RenderSVGText {text} at (0,0) size 465x37
+            RenderText {TEXT} at (0,0) size 84x37
+              text run at (0,0) width 84: "Target"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 299x28
+              text run at (0,0) width 299: "Use the target to trigger events"
           KCanvasContainer {g} at (29.50,109.50) size 61.00x61.00
             KCanvasItem {circle} at (29.50,109.50) size 61.00x61.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [data="M30.00,0.00L29.94,1.88L29.76,3.76L29.47,5.62L29.06,7.46L28.53,9.27L27.89,11.04L27.14,12.77L26.29,14.45L25.33,16.07L24.27,17.63L23.12,19.12L21.87,20.54L20.54,21.87L19.12,23.12L17.63,24.27L16.07,25.33L14.45,26.29L12.77,27.14L11.04,27.89L9.27,28.53L7.46,29.06L5.62,29.47L3.76,29.76L1.88,29.94L0.00,30.00L-1.88,29.94L-3.76,29.76L-5.62,29.47L-7.46,29.06L-9.27,28.53L-11.04,27.89L-12.77,27.14L-14.45,26.29L-16.07,25.33L-17.63,24.27L-19.12,23.12L-20.54,21.87L-21.87,20.54L-23.12,19.12L-24.27,17.63L-25.33,16.07L-26.29,14.45L-27.14,12.77L-27.89,11.04L-28.53,9.27L-29.06,7.46L-29.47,5.62L-29.76,3.76L-29.94,1.88L-30.00,0.00L-29.94,-1.88L-29.76,-3.76L-29.47,-5.62L-29.06,-7.46L-28.53,-9.27L-27.89,-11.04L-27.14,-12.77L-26.29,-14.45L-25.33,-16.07L-24.27,-17.63L-23.12,-19.12L-21.87,-20.54L-20.54,-21.87L-19.12,-23.12L-17.63,-24.27L-16.07,-25.33L-14.45,-26.29L-12.77,-27.14L-11.04,-27.89L-9.27,-28.53L-7.46,-29.06L-5.62,-29.47L-3.76,-29.76L-1.88,-29.94L-0.00,-30.00L1.88,-29.94L3.76,-29.76L5.62,-29.47L7.46,-29.06L9.27,-28.53L11.04,-27.89L12.77,-27.14L14.45,-26.29L16.07,-25.33L17.63,-24.27L19.12,-23.12L20.54,-21.87L21.87,-20.54L23.12,-19.12L24.27,-17.63L25.33,-16.07L26.29,-14.45L27.14,-12.77L27.89,-11.04L28.53,-9.27L29.06,-7.46L29.47,-5.62L29.76,-3.76L29.94,-1.88"]
             KCanvasItem {line} at (30,140) size 60x0 [fill={[type=SOLID] [color=#000000]}] [data="M-30.00,0.00L30.00,0.00"]
@@ -10,6 +19,15 @@
         KCanvasContainer {g} at (50,192) size 20x80
           KCanvasContainer {g} at (50,192) size 20x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(65.00,190.00)}]
             KCanvasContainer {g} at (65,190) size 0x0
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 172x37
+                  text run at (0,0) width 172: "onmouseover"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 186x37
+                  text run at (0,0) width 186: "onmousemove"
+              RenderSVGText {text} at (0,0) size 465x37
+                RenderText {TEXT} at (0,0) size 156x37
+                  text run at (0,0) width 156: "onmouseout"
             KCanvasContainer {g} at (50,192) size 20x80
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
               KCanvasItem {rect} at (50,192) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,2.00L5.00,2.00L5.00,22.00L-15.00,22.00"]
@@ -17,4 +35,7 @@
               KCanvasItem {rect} at (50,222) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,32.00L5.00,32.00L5.00,52.00L-15.00,52.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#008000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
               KCanvasItem {rect} at (50,252) size 20x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M-15.00,62.00L5.00,62.00L5.00,82.00L-15.00,82.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum
index 5cc0fde..51b9f50 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum
@@ -1 +1 @@
-3223a39ec46d1c185124768e06fa37a3
\ No newline at end of file
+593c79a1d7863ef56a5dd77d2e2d38ef
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png
index 7df7a0f..c13ba85 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt
index 3ca7fcf..6b21b5d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt
@@ -8,4 +8,7 @@
         KCanvasItem {circle} at (78.00,238.00) size 44.00x44.00 [stroke={[type=SOLID] [color=#00FF00] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M120.00,260.00L119.96,261.26L119.84,262.51L119.65,263.75L119.37,264.97L119.02,266.18L118.60,267.36L118.10,268.52L117.53,269.64L116.89,270.72L116.18,271.76L115.41,272.75L114.58,273.69L113.69,274.58L112.75,275.41L111.76,276.18L110.72,276.89L109.64,277.53L108.52,278.10L107.36,278.60L106.18,279.02L104.97,279.37L103.75,279.65L102.51,279.84L101.26,279.96L100.00,280.00L98.74,279.96L97.49,279.84L96.25,279.65L95.03,279.37L93.82,279.02L92.64,278.60L91.48,278.10L90.36,277.53L89.28,276.89L88.24,276.18L87.25,275.41L86.31,274.58L85.42,273.69L84.59,272.75L83.82,271.76L83.11,270.72L82.47,269.64L81.90,268.52L81.40,267.36L80.98,266.18L80.63,264.97L80.35,263.75L80.16,262.51L80.04,261.26L80.00,260.00L80.04,258.74L80.16,257.49L80.35,256.25L80.63,255.03L80.98,253.82L81.40,252.64L81.90,251.48L82.47,250.36L83.11,249.28L83.82,248.24L84.59,247.25L85.42,246.31L86.31,245.42L87.25,244.59L88.24,243.82L89.28,243.11L90.36,242.47L91.48,241.90L92.64,241.40L93.82,240.98L95.03,240.63L96.25,240.35L97.49,240.16L98.74,240.04L100.00,240.00L101.26,240.04L102.51,240.16L103.75,240.35L104.97,240.63L106.18,240.98L107.36,241.40L108.52,241.90L109.64,242.47L110.72,243.11L111.76,243.82L112.75,244.59L113.69,245.42L114.58,246.31L115.41,247.25L116.18,248.24L116.89,249.28L117.53,250.36L118.10,251.48L118.60,252.64L119.02,253.82L119.37,255.03L119.65,256.25L119.84,257.49L119.96,258.74"]
         KCanvasItem {circle} at (185,225) size 70x70 [fill={[type=SOLID] [color=#0000FF]}] [data="M255.00,260.00L254.93,262.20L254.72,264.39L254.38,266.56L253.90,268.70L253.29,270.82L252.54,272.88L251.67,274.90L250.67,276.86L249.55,278.75L248.32,280.57L246.97,282.31L245.51,283.96L243.96,285.51L242.31,286.97L240.57,288.32L238.75,289.55L236.86,290.67L234.90,291.67L232.88,292.54L230.82,293.29L228.70,293.90L226.56,294.38L224.39,294.72L222.20,294.93L220.00,295.00L217.80,294.93L215.61,294.72L213.44,294.38L211.30,293.90L209.18,293.29L207.12,292.54L205.10,291.67L203.14,290.67L201.25,289.55L199.43,288.32L197.69,286.97L196.04,285.51L194.49,283.96L193.03,282.31L191.68,280.57L190.45,278.75L189.33,276.86L188.33,274.90L187.46,272.88L186.71,270.82L186.10,268.70L185.62,266.56L185.28,264.39L185.07,262.20L185.00,260.00L185.07,257.80L185.28,255.61L185.62,253.44L186.10,251.30L186.71,249.18L187.46,247.12L188.33,245.10L189.33,243.14L190.45,241.25L191.68,239.43L193.03,237.69L194.49,236.04L196.04,234.49L197.69,233.03L199.43,231.68L201.25,230.45L203.14,229.33L205.10,228.33L207.12,227.46L209.18,226.71L211.30,226.10L213.44,225.62L215.61,225.28L217.80,225.07L220.00,225.00L222.20,225.07L224.39,225.28L226.56,225.62L228.70,226.10L230.82,226.71L232.88,227.46L234.90,228.33L236.86,229.33L238.75,230.45L240.57,231.68L242.31,233.03L243.96,234.49L245.51,236.04L246.97,237.69L248.32,239.43L249.55,241.25L250.67,243.14L251.67,245.10L252.54,247.12L253.29,249.18L253.90,251.30L254.38,253.44L254.72,255.61L254.93,257.80"]
         KCanvasItem {circle} at (285.00,205.00) size 110.00x110.00 [stroke={[type=SOLID] [color=#FF0000] [stroke width=10.00]}] [data="M390.00,260.00L389.90,263.14L389.61,266.27L389.11,269.37L388.43,272.43L387.55,275.45L386.49,278.41L385.24,281.29L383.82,284.09L382.22,286.79L380.45,289.39L378.53,291.87L376.45,294.23L374.23,296.45L371.87,298.53L369.39,300.45L366.79,302.22L364.09,303.82L361.29,305.24L358.41,306.49L355.45,307.55L352.43,308.43L349.37,309.11L346.27,309.61L343.14,309.90L340.00,310.00L336.86,309.90L333.73,309.61L330.63,309.11L327.57,308.43L324.55,307.55L321.59,306.49L318.71,305.24L315.91,303.82L313.21,302.22L310.61,300.45L308.13,298.53L305.77,296.45L303.55,294.23L301.47,291.87L299.55,289.39L297.78,286.79L296.18,284.09L294.76,281.29L293.51,278.41L292.45,275.45L291.57,272.43L290.89,269.37L290.39,266.27L290.10,263.14L290.00,260.00L290.10,256.86L290.39,253.73L290.89,250.63L291.57,247.57L292.45,244.55L293.51,241.59L294.76,238.71L296.18,235.91L297.78,233.21L299.55,230.61L301.47,228.13L303.55,225.77L305.77,223.55L308.13,221.47L310.61,219.55L313.21,217.78L315.91,216.18L318.71,214.76L321.59,213.51L324.55,212.45L327.57,211.57L330.63,210.89L333.73,210.39L336.86,210.10L340.00,210.00L343.14,210.10L346.27,210.39L349.37,210.89L352.43,211.57L355.45,212.45L358.41,213.51L361.29,214.76L364.09,216.18L366.79,217.78L369.39,219.55L371.87,221.47L374.23,223.55L376.45,225.77L378.53,228.13L380.45,230.61L382.22,233.21L383.82,235.91L385.24,238.71L386.49,241.59L387.55,244.55L388.43,247.57L389.11,250.63L389.61,253.73L389.90,256.86"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum
index 4f1e602..10f8615 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum
@@ -1 +1 @@
-a482433ec18df1a9ce234b0e7afc2cf5
\ No newline at end of file
+642f66f97616133d6a35cb6fddb228af
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png
index ba44f83..33a9cf9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt
index 83100f4..21ede35 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt
@@ -9,4 +9,7 @@
         KCanvasItem {ellipse} at (16.00,165.99) size 68.00x108.01 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [data="M80.00,220.00L79.94,223.14L79.76,226.27L79.47,229.37L79.06,232.43L78.53,235.45L77.89,238.41L77.14,241.29L76.29,244.09L75.33,246.79L74.27,249.39L73.12,251.87L71.87,254.23L70.54,256.45L69.12,258.53L67.63,260.45L66.07,262.22L64.45,263.82L62.77,265.24L61.04,266.49L59.27,267.55L57.46,268.43L55.62,269.11L53.76,269.61L51.88,269.90L50.00,270.00L48.12,269.90L46.24,269.61L44.38,269.11L42.54,268.43L40.73,267.55L38.96,266.49L37.23,265.24L35.55,263.82L33.93,262.22L32.37,260.45L30.88,258.53L29.46,256.45L28.13,254.23L26.88,251.87L25.73,249.39L24.67,246.79L23.71,244.09L22.86,241.29L22.11,238.41L21.47,235.45L20.94,232.43L20.53,229.37L20.24,226.27L20.06,223.14L20.00,220.00L20.06,216.86L20.24,213.73L20.53,210.63L20.94,207.57L21.47,204.55L22.11,201.59L22.86,198.71L23.71,195.91L24.67,193.21L25.73,190.61L26.88,188.13L28.13,185.77L29.46,183.55L30.88,181.47L32.37,179.55L33.93,177.78L35.55,176.18L37.23,174.76L38.96,173.51L40.73,172.45L42.54,171.57L44.38,170.89L46.24,170.39L48.12,170.10L50.00,170.00L51.88,170.10L53.76,170.39L55.62,170.89L57.46,171.57L59.27,172.45L61.04,173.51L62.77,174.76L64.45,176.18L66.07,177.78L67.63,179.55L69.12,181.47L70.54,183.55L71.87,185.77L73.12,188.13L74.27,190.61L75.33,193.21L76.29,195.91L77.14,198.71L77.89,201.59L78.53,204.55L79.06,207.57L79.47,210.63L79.76,213.73L79.94,216.86"]
         KCanvasItem {ellipse} at (126.00,165.99) size 68.00x108.01 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M190.00,220.00L189.94,223.14L189.76,226.27L189.47,229.37L189.06,232.43L188.53,235.45L187.89,238.41L187.14,241.29L186.29,244.09L185.33,246.79L184.27,249.39L183.12,251.87L181.87,254.23L180.54,256.45L179.12,258.53L177.63,260.45L176.07,262.22L174.45,263.82L172.77,265.24L171.04,266.49L169.27,267.55L167.46,268.43L165.62,269.11L163.76,269.61L161.88,269.90L160.00,270.00L158.12,269.90L156.24,269.61L154.38,269.11L152.54,268.43L150.73,267.55L148.96,266.49L147.23,265.24L145.55,263.82L143.93,262.22L142.37,260.45L140.88,258.53L139.46,256.45L138.13,254.23L136.88,251.87L135.73,249.39L134.67,246.79L133.71,244.09L132.86,241.29L132.11,238.41L131.47,235.45L130.94,232.43L130.53,229.37L130.24,226.27L130.06,223.14L130.00,220.00L130.06,216.86L130.24,213.73L130.53,210.63L130.94,207.57L131.47,204.55L132.11,201.59L132.86,198.71L133.71,195.91L134.67,193.21L135.73,190.61L136.88,188.13L138.13,185.77L139.46,183.55L140.88,181.47L142.37,179.55L143.93,177.78L145.55,176.18L147.23,174.76L148.96,173.51L150.73,172.45L152.54,171.57L154.38,170.89L156.24,170.39L158.12,170.10L160.00,170.00L161.88,170.10L163.76,170.39L165.62,170.89L167.46,171.57L169.27,172.45L171.04,173.51L172.77,174.76L174.45,176.18L176.07,177.78L177.63,179.55L179.12,181.47L180.54,183.55L181.87,185.77L183.12,188.13L184.27,190.61L185.33,193.21L186.29,195.91L187.14,198.71L187.89,201.59L188.53,204.55L189.06,207.57L189.47,210.63L189.76,213.73L189.94,216.86"]
         KCanvasItem {ellipse} at (255.99,176.00) size 148.01x88.00 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M400.00,220.00L399.86,222.51L399.45,225.01L398.76,227.50L397.80,229.95L396.57,232.36L395.08,234.72L393.34,237.03L391.34,239.27L389.10,241.43L386.63,243.51L383.94,245.50L381.03,247.38L377.92,249.16L374.62,250.82L371.14,252.36L367.51,253.77L363.72,255.05L359.80,256.19L355.77,257.19L351.63,258.04L347.41,258.74L343.12,259.29L338.77,259.68L334.40,259.92L330.00,260.00L325.60,259.92L321.23,259.68L316.88,259.29L312.59,258.74L308.37,258.04L304.23,257.19L300.20,256.19L296.28,255.05L292.49,253.77L288.86,252.36L285.38,250.82L282.08,249.16L278.97,247.38L276.06,245.50L273.37,243.51L270.90,241.43L268.66,239.27L266.66,237.03L264.92,234.72L263.43,232.36L262.20,229.95L261.24,227.50L260.55,225.01L260.14,222.51L260.00,220.00L260.14,217.49L260.55,214.99L261.24,212.50L262.20,210.05L263.43,207.64L264.92,205.28L266.66,202.97L268.66,200.73L270.90,198.57L273.37,196.49L276.06,194.50L278.97,192.62L282.08,190.84L285.38,189.18L288.86,187.64L292.49,186.23L296.28,184.95L300.20,183.81L304.23,182.81L308.37,181.96L312.59,181.26L316.88,180.71L321.23,180.32L325.60,180.08L330.00,180.00L334.40,180.08L338.77,180.32L343.12,180.71L347.41,181.26L351.63,181.96L355.77,182.81L359.80,183.81L363.72,184.95L367.51,186.23L371.14,187.64L374.62,189.18L377.92,190.84L381.03,192.62L383.94,194.50L386.63,196.49L389.10,198.57L391.34,200.73L393.34,202.97L395.08,205.28L396.57,207.64L397.80,210.05L398.76,212.50L399.45,214.99L399.86,217.49"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum
index 248c089..4dc18df 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.checksum
@@ -1 +1 @@
-34093c67670ee47291d1d05e8d85895f
\ No newline at end of file
+e968e955928f0208e57eaf23c2abcff8
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png
index ae386fc..20c76a5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt
index 4a7cc1b..2ee437b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt
@@ -26,4 +26,7 @@
           KCanvasItem {line} at (320,195) size 50x10 [stroke={[type=SOLID] [color=#0000FF] [stroke width=10.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M320.00,200.00L370.00,200.00"]
           KCanvasItem {line} at (365,200) size 10x50 [stroke={[type=SOLID] [color=#008000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M370.00,200.00L370.00,250.00"]
           KCanvasItem {line} at (415,200) size 10x50 [stroke={[type=SOLID] [color=#FF0000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M420.00,250.00L420.00,200.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum
index 8e80ad4..1a1e0e1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum
@@ -1 +1 @@
-d0eb22cf93f64269e25f3287683cc1a0
\ No newline at end of file
+0c10214a7c784ff93d3bda07923d38f0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png
index de19d63..68baceb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt
index cd6a935..1d3203a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt
@@ -8,4 +8,7 @@
         KCanvasItem {polygon} at (6.71,180.56) size 105.62x103.48 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [data="M59.00,185.00L98.00,203.00L108.00,245.00L82.00,279.00L39.00,280.00L11.00,247.00L19.00,205.00L59.00,185.00"]
         KCanvasItem {polygon} at (126.71,180.56) size 105.62x103.48 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M179.00,185.00L218.00,203.00L228.00,245.00L202.00,279.00L159.00,280.00L131.00,247.00L139.00,205.00"]
         KCanvasItem {polygon} at (265.20,179.61) size 161.15x104.39 [stroke={[type=SOLID] [color=#00FF00] [stroke width=8.00]}] [data="M270.00,225.00L300.00,245.00L320.00,225.00L340.00,245.00L280.00,280.00L390.00,280.00L420.00,240.00L280.00,185.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum
index e71f281..76d2373 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum
@@ -1 +1 @@
-71ed766e6b4a7d8dc7f55f018f6d7cdc
\ No newline at end of file
+e7cb813ea0f04a132b33a9b50b8f3574
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png
index 8d920d5..8e07fab 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt
index 3d9eac8..7b290e2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt
@@ -8,4 +8,7 @@
         KCanvasItem {polyline} at (6.71,181.37) size 105.62x102.68 [stroke={[type=SOLID] [color=#FF0000] [stroke width=8.00]}] [data="M59.00,185.00L98.00,203.00L108.00,245.00L82.00,279.00L39.00,280.00L11.00,247.00L19.00,205.00"]
         KCanvasItem {polyline} at (136.71,181.37) size 105.62x102.68 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M189.00,185.00L228.00,203.00L238.00,245.00L212.00,279.00L169.00,280.00L141.00,247.00L149.00,205.00"]
         KCanvasItem {polyline} at (270,185) size 150x95 [fill={[type=SOLID] [color=#FF00FF]}] [data="M270.00,225.00L300.00,245.00L320.00,225.00L340.00,245.00L280.00,280.00L390.00,280.00L420.00,240.00L280.00,185.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum
index 50e14df..e36dedd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum
@@ -1 +1 @@
-846c8d17ce8bcdc695199a8e83687e9b
\ No newline at end of file
+80a4b1f85f141f0248363c72a0e0a0c6
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png
index 54633ca..97858b6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt
index 7ffe629..7a16a43 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt
@@ -10,4 +10,7 @@
         KCanvasItem {rect} at (126,192) size 58x88 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [data="M130.00,196.00L180.00,196.00L180.00,276.00L130.00,276.00"]
         KCanvasItem {rect} at (246,192) size 58x88 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [data="M275.00,196.00C261.20,196.00,250.00,213.92,250.00,236.00C250.00,258.08,261.20,276.00,275.00,276.00C288.80,276.00,300.00,258.08,300.00,236.00C300.00,213.92,288.80,196.00,275.00,196.00"]
         KCanvasItem {rect} at (350,196) size 50x80 [fill={[type=SOLID] [color=#00FF00]}] [data="M375.00,196.00C361.20,196.00,350.00,213.92,350.00,236.00C350.00,258.08,361.20,276.00,375.00,276.00C388.80,276.00,400.00,258.08,400.00,236.00C400.00,213.92,388.80,196.00,375.00,196.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum
index b2a575b..da58f4b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.checksum
@@ -1 +1 @@
-f0bc6eed374b8f553c6eaf19f62d7836
\ No newline at end of file
+dcbbb2a93cfe0430257b5e1d6ec5eabb
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png
index 7a537aa..481f37a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt
index 2b9600a..58cb1b6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (0,150) size 220x150
         KCanvasContainer {switch} at (0,150) size 220x150
           KCanvasItem {rect} at (0,150) size 220x150 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,150.00L220.00,150.00L220.00,300.00L0.00,300.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum
index 8a71cb4..b574e1d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+e09c2f2b8279f9ec92a41f6836bcbdee
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png
index fd25073..26d5504 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt
index a4b2eea..b3605500 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt
@@ -5,4 +5,13 @@
         KCanvasContainer {g} at (0,0) size 0x0
           KCanvasContainer {switch} at (0,0) size 0x0
             KCanvasContainer {g} at (0,0) size 0x0
+              RenderSVGText {text} at (0,0) size 465x28
+                RenderText {TEXT} at (0,0) size 375x28
+                  text run at (0,0) width 375: "Why can't they just speak English ?"
+              RenderSVGText {text} at (0,0) size 465x28
+                RenderText {TEXT} at (0,0) size 133x28
+                  text run at (0,0) width 133: "English (US)"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum
index 8f19999..3a2b258 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.checksum
@@ -1 +1 @@
-c32a2cdd6471d24cda783effe3a24796
\ No newline at end of file
+e6a4cbf0e8f360a270bf253436819e56
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png
index adba57e..d87b703 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt
index f614072..62702bd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt
@@ -3,4 +3,7 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (140,80) size 200x200
         KCanvasItem {rect} at (140,80) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M140.00,80.00L340.00,80.00L340.00,280.00L140.00,280.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum
index b18f63b..d72a15d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.checksum
@@ -1 +1 @@
-041478d37c877e645fbaa2393a0976a8
\ No newline at end of file
+f74c0745afb3ebc71c968c733426a66c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png
index 588d8ea..c800545 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt
index 432331a7..961d74b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt
@@ -3,4 +3,7 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (40,150) size 50x50
         KCanvasItem {rect} at (40,150) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M40.00,150.00L90.00,150.00L90.00,200.00L40.00,200.00"]
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum
index 8a71cb4..0b1ca26 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+3dc387826d58cadbb23ff92750622644
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png
index fd25073..0b27a5f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt
index c3c74e4..ae00865 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt
@@ -2,4 +2,7 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum
index 8a71cb4..0b1ca26 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+3dc387826d58cadbb23ff92750622644
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png
index fd25073..0b27a5f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt
index c3c74e4..ae00865 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt
@@ -2,4 +2,7 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum
index 8a71cb4..0b1ca26 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+3dc387826d58cadbb23ff92750622644
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png
index fd25073..0b27a5f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt
index c3c74e4..ae00865 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt
@@ -2,4 +2,7 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum
index 8a71cb4..0b1ca26 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+3dc387826d58cadbb23ff92750622644
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png
index fd25073..0b27a5f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt
index c3c74e4..ae00865 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt
@@ -2,4 +2,7 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum
index 60fb9d4..34b3ff2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.checksum
@@ -1 +1 @@
-e86248ee60be9426d99a3126141cf491
\ No newline at end of file
+bcb523309247129e73467d79f3066370
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png
index 193c9f6..e06d8c7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt
index 2a6d234..a01b8f8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt
@@ -3,4 +3,11 @@
     KCanvasContainer {svg} at (0,0) size 479.50x450
       KCanvasContainer {g} at (0,0) size 450x450
         KCanvasItem {rect} at (0,0) size 450x450 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L450.00,0.00L450.00,450.00L0.00,450.00"]
+        RenderSVGText {text} at (0,0) size 465x72
+          RenderText {TEXT} at (0,0) size 418x72
+            text run at (0,0) width 418: "Removing DOM Elements is"
+            text run at (0,36) width 213: "not supported"
+      RenderSVGText {text} at (0,0) size 465x36
+        RenderText {TEXT} at (0,0) size 235x36
+          text run at (0,0) width 235: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum
index bfc9f3f..654be9c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.checksum
@@ -1 +1 @@
-04976a30ae6977521501ee9f052adfa2
\ No newline at end of file
+f7b5afec9fca0d38b903780e5dfb7f68
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.png
index 7e8be7b..e973fa6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt
index fdf506f..8db9b3d 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt
@@ -12,4 +12,7 @@
           KCanvasContainer {g} at (76.61,196.81) size 70.42x103.89 [transform={m=((0.94,-0.34)(0.34,0.94)) t=(0.00,0.00)}]
             KCanvasItem {rect} at (76.61,196.81) size 51.27x51.27 [fill={[type=SOLID] [color=#FFFF00]}] [data="M0.00,224.00L40.00,224.00L40.00,264.00L0.00,264.00"]
             KCanvasItem {rect} at (95.77,249.43) size 51.27x51.27 [fill={[type=SOLID] [color=#FFFF00]}] [data="M0.00,280.00L40.00,280.00L40.00,320.00L0.00,320.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum
index fa34eda..44f153a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.checksum
@@ -1 +1 @@
-f5d8de9f21756bdc628b1474b1d1c2e9
\ No newline at end of file
+726973492533463e444eda81aead18b3
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.png
index 242fdb1..d8e0f64 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt
index 41d544f..1c9a6e3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt
@@ -8,4 +8,7 @@
           KCanvasItem {rect} at (0,0) size 240x180 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00L240.00,0.00L240.00,180.00L0.00,180.00"]
           KCanvasContainer {svg} at (0,0) size 120x90
             KCanvasItem {rect} at (0,0) size 120x90 [fill={[type=SOLID] [color=#FFFF00]}] [data="M0.00,0.00L120.00,0.00L120.00,90.00L0.00,90.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum
index 9e0d891..29dcfe4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.checksum
@@ -1 +1 @@
-fd6a015265a20894e78a502fe8474000
\ No newline at end of file
+61e6356d6faa91df5d12b8862ee34597
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.png
index 2d43d27..e841d78 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt
index 54bb711..bf7afe2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (240,0) size 240x300
         KCanvasItem {image} at (240,0) size 240x150 [fill={[type=IMAGE] [bounding box=at (0,0) size 240x150]}] [data="M240.00,0.00L480.00,0.00L480.00,150.00L240.00,150.00"]
         KCanvasItem {image} at (240,150) size 240x150 [fill={[type=IMAGE] [bounding box=at (0,0) size 240x150]}] [data="M240.00,150.00L480.00,150.00L480.00,300.00L240.00,300.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum
index 999a279..14337c6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum
@@ -1 +1 @@
-cc31a48ae39f773ee5fd73a198715c80
\ No newline at end of file
+f5a5a82648e72c507db3418cb6e9d1aa
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
index 5abf684..84938a6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt
index 8e05e36..2182445 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt
@@ -16,4 +16,7 @@
         KCanvasContainer {g} at (240,150) size 240x150
           KCanvasContainer {switch} at (240,150) size 240x150
             KCanvasItem {rect} at (240,150) size 240x150 [fill={[type=SOLID] [color=#008000]}] [data="M240.00,150.00L480.00,150.00L480.00,300.00L240.00,300.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum
index b4b5944..ddd7c15 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.checksum
@@ -1 +1 @@
-93721074782008114e4939daf1b80dfb
\ No newline at end of file
+a417939df107981738926b2166059100
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.png
index 2b93a93..07af5b8 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt
index a2d3634..6f579fc 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt
@@ -8,4 +8,10 @@
         KCanvasItem {image} at (25,91) size 430x48 [fill={[type=IMAGE] [bounding box=at (0,0) size 430x48]}] [data="M25.00,91.00L455.00,91.00L455.00,139.00L25.00,139.00"]
         KCanvasItem {image} at (25,139) size 430x48 [fill={[type=IMAGE] [bounding box=at (0,0) size 430x48]}] [data="M25.00,139.00L455.00,139.00L455.00,187.00L25.00,187.00"]
         KCanvasItem {image} at (25,187) size 430x48 [fill={[type=IMAGE] [bounding box=at (0,0) size 430x48]}] [data="M25.00,187.00L455.00,187.00L455.00,235.00L25.00,235.00"]
+        RenderSVGText {text} at (0,0) size 465x46
+          RenderText {TEXT} at (0,0) size 299x46
+            text run at (0,0) width 299: "Gamma correction"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum
index b958883..5f92f42 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.checksum
@@ -1 +1 @@
-201e54926a3a3b2988711f522126ef95
\ No newline at end of file
+f18b5eff7ab1b9295544c9ec248b6d8a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.png
index 1355854..6b53be4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt
index 54bb711..bf7afe2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt
@@ -4,4 +4,7 @@
       KCanvasContainer {g} at (240,0) size 240x300
         KCanvasItem {image} at (240,0) size 240x150 [fill={[type=IMAGE] [bounding box=at (0,0) size 240x150]}] [data="M240.00,0.00L480.00,0.00L480.00,150.00L240.00,150.00"]
         KCanvasItem {image} at (240,150) size 240x150 [fill={[type=IMAGE] [bounding box=at (0,0) size 240x150]}] [data="M240.00,150.00L480.00,150.00L480.00,300.00L240.00,300.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum
index 877a053..2211ea0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum
@@ -1 +1 @@
-c8bef0fd1584613179c005e6ccd64862
\ No newline at end of file
+3d613127aa606295b465e5b8a4536e1b
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.png
index 8fcdbb5..3acef03 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt
index 56679ab..ef39e5e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt
@@ -3,4 +3,7 @@
     KCanvasContainer {svg} at (0,0) size 479.50x359.50
       KCanvasContainer {g} at (0,0) size 240x150
         KCanvasItem {image} at (0,0) size 240x150 [fill={[type=IMAGE] [bounding box=at (0,0) size 16x16]}] [data="M0.00,0.00L240.00,0.00L240.00,150.00L0.00,150.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum
index 0b5aabb..e925222 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum
@@ -1 +1 @@
-b93c4ba1614b3b31ffa5081c3a1286cb
\ No newline at end of file
+1bb8169b1d00523358f227dddeaa760c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png
index 1028734..04f6d36 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt
index 584dc29..da3ce23 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt
@@ -14,4 +14,7 @@
                 KCanvasItem {rect} at (156,22.50) size 75x75 [fill={[type=SOLID] [color=#FF0000]}] [data="M500.00,0.00L1000.00,0.00L1000.00,500.00L500.00,500.00"]
                 KCanvasItem {rect} at (81,97.50) size 75x75 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,500.00L500.00,500.00L500.00,1000.00L0.00,1000.00"]
                 KCanvasItem {rect} at (156,97.50) size 75x75 [fill={[type=SOLID] [color=#FFFF00]}] [data="M500.00,500.00L1000.00,500.00L1000.00,1000.00L500.00,1000.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum
index 1f4caca..6ff3a71 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.checksum
@@ -1 +1 @@
-50cf4dcc16e47f594987ca9ffb3f4b08
\ No newline at end of file
+b978ff68a4934b1865fdb6b30288d8ca
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.png
index 3a2d581..9c46308 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt
index 422293f..134e69b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt
@@ -2,13 +2,33 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (130,70) size 260x210
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 245x18
+            text run at (0,0) width 245: "Rectangle should be red not green"
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 434x18
+            text run at (0,0) width 72: "This tests "
+            text run at (72,0) width 362: "element (GI) selectors: <rect /> and the selector rect"
         KCanvasContainer {g} at (130,70) size 260x60
           KCanvasItem {circle} at (130,70) size 60x60 [fill={[type=SOLID] [color=#008000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
           KCanvasItem {rect} at (220,80) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
           KCanvasItem {polygon} at (300,70) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
         KCanvasContainer {g} at (130,220) size 260x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 343x18
+              text run at (0,0) width 343: "Circle should be red not green; rectangle still red"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 368x18
+              text run at (0,0) width 72: "This tests "
+              text run at (72,0) width 296: "class selectors: <circle class=\"warning\" />"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 178x18
+              text run at (0,0) width 178: "and the selector .warning"
           KCanvasContainer {g} at (130,220) size 260x60
             KCanvasItem {circle} at (130,220) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
             KCanvasItem {rect} at (220,230) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
             KCanvasItem {polygon} at (300,220) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum
index 1f4caca..48487b0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.checksum
@@ -1 +1 @@
-50cf4dcc16e47f594987ca9ffb3f4b08
\ No newline at end of file
+a331b2f9efd2c702ceee9704632154aa
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.png
index 3a2d581..8e0f77a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt
index 94672f4..3f0cd10 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt
@@ -2,13 +2,33 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (130,70) size 260x210
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 245x18
+            text run at (0,0) width 245: "Rectangle should be red not green"
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 435x18
+            text run at (0,0) width 72: "This tests "
+            text run at (72,0) width 363: "id selectors: <rect id=\"one\" /> and the selector #one"
         KCanvasContainer {g} at (130,70) size 260x60
           KCanvasItem {circle} at (130,70) size 60x60 [fill={[type=SOLID] [color=#008000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
           KCanvasItem {rect} at (220,80) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
           KCanvasItem {polygon} at (300,70) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
         KCanvasContainer {g} at (130,220) size 260x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 343x18
+              text run at (0,0) width 343: "Circle should be red not green; rectangle still red"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 417x18
+              text run at (0,0) width 72: "This tests "
+              text run at (72,0) width 345: "attribute selectors: <circle transform=\"scale(2)\" />"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 269x18
+              text run at (0,0) width 269: "and the selector [transform=\"scale(2)\"]"
           KCanvasContainer {g} at (130,220) size 260x60
             KCanvasItem {circle} at (130,370) size 60x60 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#FF0000]}] [data="M95.00,50.00L94.97,50.94L94.88,51.88L94.73,52.81L94.53,53.73L94.27,54.64L93.95,55.52L93.57,56.39L93.14,57.23L92.66,58.04L92.14,58.82L91.56,59.56L90.93,60.27L90.27,60.93L89.56,61.56L88.82,62.14L88.04,62.66L87.23,63.14L86.39,63.57L85.52,63.95L84.64,64.27L83.73,64.53L82.81,64.73L81.88,64.88L80.94,64.97L80.00,65.00L79.06,64.97L78.12,64.88L77.19,64.73L76.27,64.53L75.36,64.27L74.48,63.95L73.61,63.57L72.77,63.14L71.96,62.66L71.18,62.14L70.44,61.56L69.73,60.93L69.07,60.27L68.44,59.56L67.86,58.82L67.34,58.04L66.86,57.23L66.43,56.39L66.05,55.52L65.73,54.64L65.47,53.73L65.27,52.81L65.12,51.88L65.03,50.94L65.00,50.00L65.03,49.06L65.12,48.12L65.27,47.19L65.47,46.27L65.73,45.36L66.05,44.48L66.43,43.61L66.86,42.77L67.34,41.96L67.86,41.18L68.44,40.44L69.07,39.73L69.73,39.07L70.44,38.44L71.18,37.86L71.96,37.34L72.77,36.86L73.61,36.43L74.48,36.05L75.36,35.73L76.27,35.47L77.19,35.27L78.12,35.12L79.06,35.03L80.00,35.00L80.94,35.03L81.88,35.12L82.81,35.27L83.73,35.47L84.64,35.73L85.52,36.05L86.39,36.43L87.23,36.86L88.04,37.34L88.82,37.86L89.56,38.44L90.27,39.07L90.93,39.73L91.56,40.44L92.14,41.18L92.66,41.96L93.14,42.77L93.57,43.61L93.95,44.48L94.27,45.36L94.53,46.27L94.73,47.19L94.88,48.12L94.97,49.06"]
             KCanvasItem {rect} at (220,230) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
             KCanvasItem {polygon} at (300,220) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum
index 1f4caca..92a09e9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.checksum
@@ -1 +1 @@
-50cf4dcc16e47f594987ca9ffb3f4b08
\ No newline at end of file
+9c6e7f9882471a8b4993bed52ee8504c
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.png
index 3a2d581..2410929 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt
index 479890f..e3b7aa0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt
@@ -2,14 +2,31 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (130,70) size 260x210
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 245x18
+            text run at (0,0) width 245: "Rectangle should be red not green"
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 338x18
+            text run at (0,0) width 72: "This tests "
+            text run at (72,0) width 266: "ancestor selectors and child selectors"
         KCanvasContainer {g} at (130,70) size 260x60
           KCanvasItem {rect} at (220,80) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
           KCanvasItem {circle} at (130,70) size 60x60 [fill={[type=SOLID] [color=#008000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
           KCanvasContainer {g} at (300,70) size 90x50
             KCanvasItem {polygon} at (300,70) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
         KCanvasContainer {g} at (130,220) size 260x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 343x18
+              text run at (0,0) width 343: "Circle should be red not green; rectangle still red"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 434x18
+              text run at (0,0) width 72: "This tests "
+              text run at (72,0) width 362: "ancestor, immediate-sibling and first-child selectors"
           KCanvasContainer {g} at (130,220) size 260x60
             KCanvasItem {circle} at (130,220) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
             KCanvasItem {rect} at (220,230) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
             KCanvasItem {polygon} at (300,220) size 90x50 [fill={[type=SOLID] [color=#008000]}] [data="M300.00,100.00L320.00,120.00L340.00,110.00L360.00,120.00L390.00,90.00L340.00,70.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum
index e12f2d3..72df8cb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum
@@ -1 +1 @@
-55b425e25c464038f5bca65dc88140b9
\ No newline at end of file
+10519d7e56310befcb551ecb0204fcd0
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png
index 3c8f955..52bea6c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt
index b124370..6a705a0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt
@@ -9,4 +9,7 @@
             KCanvasItem {ellipse} at (239.50,79.50) size 181.00x121.00 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M420.00,140.00L419.82,143.77L419.29,147.52L418.41,151.24L417.17,154.92L415.60,158.54L413.68,162.09L411.43,165.55L408.87,168.91L405.99,172.15L402.81,175.27L399.35,178.25L395.61,181.07L391.61,183.74L387.37,186.23L382.90,188.54L378.22,190.66L373.36,192.58L368.32,194.29L363.13,195.79L357.81,197.06L352.38,198.11L346.86,198.94L341.28,199.53L335.65,199.88L330.00,200.00L324.35,199.88L318.72,199.53L313.14,198.94L307.62,198.11L302.19,197.06L296.87,195.79L291.68,194.29L286.64,192.58L281.78,190.66L277.10,188.54L272.63,186.23L268.39,183.74L264.39,181.07L260.65,178.25L257.19,175.27L254.01,172.15L251.13,168.91L248.57,165.55L246.32,162.09L244.40,158.54L242.83,154.92L241.59,151.24L240.71,147.52L240.18,143.77L240.00,140.00L240.18,136.23L240.71,132.48L241.59,128.76L242.83,125.08L244.40,121.46L246.32,117.91L248.57,114.45L251.13,111.09L254.01,107.85L257.19,104.73L260.65,101.75L264.39,98.93L268.39,96.26L272.63,93.77L277.10,91.46L281.78,89.34L286.64,87.42L291.68,85.71L296.87,84.21L302.19,82.94L307.62,81.89L313.14,81.06L318.72,80.47L324.35,80.12L330.00,80.00L335.65,80.12L341.28,80.47L346.86,81.06L352.38,81.89L357.81,82.94L363.13,84.21L368.32,85.71L373.36,87.42L378.22,89.34L382.90,91.46L387.37,93.77L391.61,96.26L395.61,98.93L399.35,101.75L402.81,104.73L405.99,107.85L408.87,111.09L411.43,114.45L413.68,117.91L415.60,121.46L417.17,125.08L418.41,128.76L419.29,132.48L419.82,136.23"]
         KCanvasItem {rect} at (40,20) size 180x120 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(50,50)] [focal=(50,50)] [radius=50.00]}] [data="M40.00,20.00L220.00,20.00L220.00,140.00L40.00,140.00"]
         KCanvasItem {rect} at (40,160) size 180x120 [fill={[type=RADIAL-GRADIENT] [stops=[]] [center=(50,50)] [focal=(50,50)] [radius=50.00]}] [data="M40.00,160.00L220.00,160.00L220.00,280.00L40.00,280.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum
index f2557c9e..ff26e3f 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.checksum
@@ -1 +1 @@
-f042c8ae757ffb4b342587103cc1b38e
\ No newline at end of file
+55ec7a8b4fd4a4436ac252962d4ee8c1
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png
index fdef48f..96d2821 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt
index f32cfac..cbdfead 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt
@@ -5,4 +5,7 @@
         KCanvasItem {circle} at (160,70) size 160x160 [fill={[type=SOLID] [color=#0000FF]}] [data="M320.00,150.00L319.84,155.02L319.37,160.03L318.58,164.99L317.49,169.90L316.08,174.72L314.38,179.45L312.39,184.06L310.10,188.54L307.55,192.87L304.72,197.02L301.64,200.99L298.32,204.76L294.76,208.32L290.99,211.64L287.02,214.72L282.87,217.55L278.54,220.10L274.06,222.39L269.45,224.38L264.72,226.08L259.90,227.49L254.99,228.58L250.03,229.37L245.02,229.84L240.00,230.00L234.98,229.84L229.97,229.37L225.01,228.58L220.10,227.49L215.28,226.08L210.55,224.38L205.94,222.39L201.46,220.10L197.13,217.55L192.98,214.72L189.01,211.64L185.24,208.32L181.68,204.76L178.36,200.99L175.28,197.02L172.45,192.87L169.90,188.54L167.61,184.06L165.62,179.45L163.92,174.72L162.51,169.90L161.42,164.99L160.63,160.03L160.16,155.02L160.00,150.00L160.16,144.98L160.63,139.97L161.42,135.01L162.51,130.10L163.92,125.28L165.62,120.55L167.61,115.94L169.90,111.46L172.45,107.13L175.28,102.98L178.36,99.01L181.68,95.24L185.24,91.68L189.01,88.36L192.98,85.28L197.13,82.45L201.46,79.90L205.94,77.61L210.55,75.62L215.28,73.92L220.10,72.51L225.01,71.42L229.97,70.63L234.98,70.16L240.00,70.00L245.02,70.16L250.03,70.63L254.99,71.42L259.90,72.51L264.72,73.92L269.45,75.62L274.06,77.61L278.54,79.90L282.87,82.45L287.02,85.28L290.99,88.36L294.76,91.68L298.32,95.24L301.64,99.01L304.72,102.98L307.55,107.13L310.10,111.46L312.39,115.94L314.38,120.55L316.08,125.28L317.49,130.10L318.58,135.01L319.37,139.97L319.84,144.98"]
         KCanvasContainer {g} at (140,70) size 200x160
           KCanvasItem {rect} at (140,70) size 200x160 [fill={[type=SOLID] [color=#008000]}] [data="M140.00,70.00L340.00,70.00L340.00,230.00L140.00,230.00"]
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.checksum
index 7e7bfd7..106f995 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.checksum
@@ -1 +1 @@
-c707a180405f6ef6a128b76811a1512a
\ No newline at end of file
+9ad56953fb91911b307a11ba4aaaf1b2
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.png
index c6d0cdc..9b5b877 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.txt
index 652c98e..d6ab290 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-01-b-expected.txt
@@ -2,17 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (180,127) size 100x156
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 435x39
+            text run at (0,0) width 435: "Test 'text-anchor' (horizontal)"
         KCanvasContainer {g} at (180,127) size 100x156
           KCanvasContainer {g} at (227,127) size 53x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,130.00)}]
             KCanvasItem {line} at (230,129.50) size 50x1 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L50.00,0.00"]
             KCanvasItem {circle} at (227,127) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 227x34
+                text run at (0,0) width 227: "text-anchor:none"
           KCanvasContainer {g} at (227,177) size 53x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,180.00)}]
             KCanvasItem {line} at (230,179.50) size 50x1 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L50.00,0.00"]
             KCanvasItem {circle} at (227,177) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 217x34
+                text run at (0,0) width 217: "text-anchor:start"
           KCanvasContainer {g} at (205,227) size 50x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,230.00)}]
             KCanvasItem {line} at (205,229.50) size 50x1 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-25.00,0.00L25.00,0.00"]
             KCanvasItem {circle} at (227,227) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 249x34
+                text run at (0,0) width 249: "text-anchor:middle"
           KCanvasContainer {g} at (180,277) size 53x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,280.00)}]
             KCanvasItem {line} at (180,279.50) size 50x1 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-50.00,0.00L0.00,0.00"]
             KCanvasItem {circle} at (227,277) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 210x34
+                text run at (0,0) width 210: "text-anchor:end"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.checksum
index 8a71cb4..c9551ad 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+e9c2a446be513aa236bfa49b8b7497d5
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.png
index fd25073..3e4b8ef 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.txt
index c482ab0..7347ff8c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-02-b-expected.txt
@@ -2,5 +2,27 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x78
+          RenderText {TEXT} at (0,0) size 288x78
+            text run at (0,0) width 288: "Test 'baseline-shift'"
+            text run at (0,39) width 170: "(horizontal)"
         KCanvasContainer {g} at (15,120) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,120.00)}]
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 98x34
+              text run at (0,0) width 98: "Normal"
+            RenderText {TEXT} at (98,0) size 48x34
+              text run at (98,0) width 48: "text"
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 98x34
+              text run at (0,0) width 98: "Normal"
+            RenderText {TEXT} at (98,0) size 48x34
+              text run at (98,0) width 48: "text"
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 98x34
+              text run at (0,0) width 98: "Normal"
+            RenderText {TEXT} at (98,0) size 23x34
+              text run at (98,0) width 23: "xt"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.checksum
index 8010fbc..7ba86ac 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.checksum
@@ -1 +1 @@
-fe06eda564954cba9c376ea9e59b7539
\ No newline at end of file
+8d4a55b903a7098363d93c7fb50be19d
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.png
index 95784e5..1d2c90b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.txt
index ee46550..498d2bd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-03-b-expected.txt
@@ -2,6 +2,15 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (224.50,75) size 1x150
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 346x45
+            text run at (0,0) width 346: "Test of 'text-anchor'"
         KCanvasItem {line} at (224.50,75) size 1x150 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M225.00,75.00L225.00,225.00"]
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 229x34
+              text run at (0,0) width 229: "Begin with \"end\","
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.checksum
index ff888d1..d569d45 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.checksum
@@ -1 +1 @@
-d5ce12e913e42316716d3773f76227c9
\ No newline at end of file
+e54aba5e431c60bf3b8da59f8b985ed9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.png
index 9236dac..6547b56 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.txt
index 70158ea..a7ecb34 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-04-b-expected.txt
@@ -2,6 +2,23 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (219.50,120) size 1x140
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 346x45
+            text run at (0,0) width 346: "Test of 'text-anchor'"
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 218x34
+            text run at (0,0) width 218: "Tspan, tref, toap"
         KCanvasItem {line} at (219.50,120) size 1x140 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M220.00,120.00L220.00,260.00"]
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 114x34
+              text run at (0,0) width 114: "start text"
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 146x34
+              text run at (0,0) width 146: "middle text"
+          RenderSVGText {text} at (0,0) size 465x0
+          RenderSVGText {text} at (0,0) size 465x0
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.checksum
index a5aab09..7dd14b5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.checksum
@@ -1 +1 @@
-0f24be6ae0003499835901f6be2d5570
\ No newline at end of file
+dbbecf1ebbb4ee96b0e601656178f029
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.png
index 69e2bd4..065585a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.txt
index 108ffae..391b9f5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-05-b-expected.txt
@@ -2,12 +2,27 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (157,147) size 106x6
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 465x45
+            text run at (0,0) width 465: "Test 'text-anchor' (vertical)"
         KCanvasContainer {g} at (157,147) size 106x6
           KCanvasContainer {g} at (157,147) size 106x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(160.00,150.00)}]
             KCanvasContainer {g} at (157,147) size 6x6
               KCanvasItem {circle} at (157,147) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+              RenderSVGText {text} at (0,0) size 465x34
+                RenderText {TEXT} at (0,0) size 58x34
+                  text run at (0,0) width 58: "start"
             KCanvasContainer {g} at (207,147) size 6x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
               KCanvasItem {circle} at (207,147) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+              RenderSVGText {text} at (0,0) size 465x34
+                RenderText {TEXT} at (0,0) size 90x34
+                  text run at (0,0) width 90: "middle"
             KCanvasContainer {g} at (257,147) size 6x6 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
               KCanvasItem {circle} at (257,147) size 6x6 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00L2.99,0.19L2.98,0.38L2.95,0.56L2.91,0.75L2.85,0.93L2.79,1.10L2.71,1.28L2.63,1.45L2.53,1.61L2.43,1.76L2.31,1.91L2.19,2.05L2.05,2.19L1.91,2.31L1.76,2.43L1.61,2.53L1.45,2.63L1.28,2.71L1.10,2.79L0.93,2.85L0.75,2.91L0.56,2.95L0.38,2.98L0.19,2.99L0.00,3.00L-0.19,2.99L-0.38,2.98L-0.56,2.95L-0.75,2.91L-0.93,2.85L-1.10,2.79L-1.28,2.71L-1.45,2.63L-1.61,2.53L-1.76,2.43L-1.91,2.31L-2.05,2.19L-2.19,2.05L-2.31,1.91L-2.43,1.76L-2.53,1.61L-2.63,1.45L-2.71,1.28L-2.79,1.10L-2.85,0.93L-2.91,0.75L-2.95,0.56L-2.98,0.38L-2.99,0.19L-3.00,0.00L-2.99,-0.19L-2.98,-0.38L-2.95,-0.56L-2.91,-0.75L-2.85,-0.93L-2.79,-1.10L-2.71,-1.28L-2.63,-1.45L-2.53,-1.61L-2.43,-1.76L-2.31,-1.91L-2.19,-2.05L-2.05,-2.19L-1.91,-2.31L-1.76,-2.43L-1.61,-2.53L-1.45,-2.63L-1.28,-2.71L-1.10,-2.79L-0.93,-2.85L-0.75,-2.91L-0.56,-2.95L-0.38,-2.98L-0.19,-2.99L-0.00,-3.00L0.19,-2.99L0.38,-2.98L0.56,-2.95L0.75,-2.91L0.93,-2.85L1.10,-2.79L1.28,-2.71L1.45,-2.63L1.61,-2.53L1.76,-2.43L1.91,-2.31L2.05,-2.19L2.19,-2.05L2.31,-1.91L2.43,-1.76L2.53,-1.61L2.63,-1.45L2.71,-1.28L2.79,-1.10L2.85,-0.93L2.91,-0.75L2.95,-0.56L2.98,-0.38L2.99,-0.19"]
+              RenderSVGText {text} at (0,0) size 465x34
+                RenderText {TEXT} at (0,0) size 51x34
+                  text run at (0,0) width 51: "end"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.checksum
index 8a71cb4..2182976e 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+1dfec0fe3c5da9351ae543f019dca28a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.png
index fd25073..551084a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.txt
index 1380f19..ba34d76 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-align-06-b-expected.txt
@@ -2,6 +2,33 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x90
+          RenderText {TEXT} at (0,0) size 338x90
+            text run at (0,0) width 338: "Test 'baseline-shift'"
+            text run at (0,45) width 132: "(vertic.)"
         KCanvasContainer {g} at (0,0) size 0x0
           KCanvasContainer {g} at (90,60) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(90.00,60.00)}]
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 25x34
+                text run at (0,0) width 25: "te"
+              RenderText {TEXT} at (25,0) size 23x34
+                text run at (25,0) width 23: "xt"
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 25x34
+                text run at (0,0) width 25: "te"
+              RenderText {TEXT} at (25,0) size 23x34
+                text run at (25,0) width 23: "xt"
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 25x34
+                text run at (0,0) width 25: "te"
+              RenderText {TEXT} at (25,0) size 8x34
+                text run at (25,0) width 8: "t"
+            RenderSVGText {text} at (0,0) size 465x34
+              RenderText {TEXT} at (0,0) size 25x34
+                text run at (0,0) width 25: "te"
+              RenderText {TEXT} at (25,0) size 8x34
+                text run at (25,0) width 8: "t"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum
index 8a71cb4..de07932 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+9c3cf79b83068e591dd4accbcb9018c5
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png
index fd25073..4162acf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt
index 1df5913..69b2dbb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt
@@ -2,5 +2,21 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 403x45
+            text run at (0,0) width 403: "Test 'altGlyph' facilities"
+        RenderSVGText {text} at (0,0) size 465x34
+          RenderText {TEXT} at (0,0) size 463x34
+            text run at (0,0) width 463: "and many-to-many chars to glyphs"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x0
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 43x69
+              text run at (0,0) width 43: "D"
+          RenderSVGText {text} at (0,0) size 465x69
+            RenderText {TEXT} at (0,0) size 200x69
+              text run at (0,0) width 200: "SASSY"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum
index 8a71cb4..023bcad 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+99dd1b4832abbb001b53c39c7879e11a
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
index fd25073..abb7b67 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt
index 1df5913..dc3fe36 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt
@@ -2,5 +2,21 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 150x18
+            text run at (0,0) width 150: "Test 'text-decoration'."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 122x28
+              text run at (0,0) width 122: "Normal text"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 227x28
+              text run at (0,0) width 227: "Text with line-through"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 159x28
+              text run at (0,0) width 159: "Underlined text"
+          RenderSVGText {text} at (0,0) size 465x0
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum
index 8a71cb4..95e5e70 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+6fc5f88b5b83c5562d15417f6819e849
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png
index fd25073..ceee396 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt
index 00a6c86..550d768 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt
@@ -3,5 +3,29 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x27
+            RenderText {TEXT} at (0,0) size 198x27
+              text run at (0,0) width 198: "A serifed face \x{753B}\x{50CF}"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 233x28
+              text run at (0,0) width 233: "A sans-serif face \x{753B}\x{50CF}"
+          RenderSVGText {text} at (0,0) size 465x27
+            RenderText {TEXT} at (0,0) size 286x27
+              text run at (0,0) width 286: "A mono (iW) face \x{753B}\x{50CF}"
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 190x28
+                text run at (0,0) width 190: "A serifed face \x{753B}\x{50CF}"
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 233x28
+                text run at (0,0) width 233: "A sans-serif face \x{753B}\x{50CF}"
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 286x28
+                text run at (0,0) width 286: "A mono (iW) face \x{753B}\x{50CF}"
+          RenderSVGText {text} at (0,0) size 465x28
+            RenderText {TEXT} at (0,0) size 243x28
+              text run at (0,0) width 243: "This must be displayed"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum
index 8a71cb4..785d1e7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+c92de5b973bf78086f7ee55ef78d01ba
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png
index fd25073..ab3bf72 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt
index 256620c..5ff54d0 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt
@@ -2,6 +2,48 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 49x35
+            text run at (0,0) width 49: "100"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 53x35
+            text run at (0,0) width 53: "200"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 53x35
+            text run at (0,0) width 53: "300"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 53x35
+            text run at (0,0) width 53: "400"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 52x35
+            text run at (0,0) width 52: "500"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 61x35
+            text run at (0,0) width 61: "600"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 59x35
+            text run at (0,0) width 59: "700"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 62x35
+            text run at (0,0) width 62: "800"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 61x35
+            text run at (0,0) width 61: "900"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 177x35
+            text run at (0,0) width 177: "This is bold"
+        RenderSVGText {text} at (0,0) size 465x35
+          RenderText {TEXT} at (0,0) size 190x35
+            text run at (0,0) width 190: "This is normal"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x35
+            RenderText {TEXT} at (0,0) size 213x35
+              text run at (0,0) width 213: "Blue is bolder"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x35
+            RenderText {TEXT} at (0,0) size 184x35
+              text run at (0,0) width 184: "Blue is lighter"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum
index 8a71cb4..c1f8009 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+ceb147c6c584d83b82278def38a54929
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.png
index fd25073..03bd93c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt
index e4995e9..9c99885 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt
@@ -2,7 +2,42 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 363x45
+            text run at (0,0) width 363: "Test left-to-right text."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x60
+            RenderText {TEXT} at (0,0) size 435x60
+              text run at (0,0) width 435: "Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi"
+              text run at (0,30) width 45: "..."
+          RenderSVGText {text} at (0,0) size 465x60
+            RenderText {TEXT} at (0,0) size 435x60
+              text run at (0,0) width 435: "Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C}"
+              text run at (0,30) width 255: "\x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, ..."
+          RenderSVGText {text} at (0,0) size 465x30
+            RenderText {TEXT} at (0,0) size 465x30
+              text run at (0,0) width 465: "Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} ..."
+          RenderSVGText {text} at (0,0) size 465x60
+            RenderText {TEXT} at (0,0) size 424x60
+              text run at (0,0) width 120: "Hebrew: "
+              text run at (120,0) width 304 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA}"
+              text run at (0,30) width 45: "..."
+          RenderSVGText {text} at (0,0) size 465x60
+            RenderText {TEXT} at (0,0) size 434x60
+              text run at (0,0) width 135: "Yiddish: "
+              text run at (135,0) width 299 RTL: "\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF}"
+              text run at (0,30) width 45: "..."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x70
+            RenderText {TEXT} at (0,0) size 420x70
+              text run at (0,0) width 420: "Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}"
+              text run at (0,35) width 60: "\x{4F53}\x{3002}"
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x60
+            RenderText {TEXT} at (0,0) size 420x60
+              text run at (0,0) width 420: "Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{307E}"
+              text run at (0,30) width 60: "\x{3059}\x{3002}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum
index 8a71cb4..f50dafd 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+b9ac4ba6881631ea450aa4107a3e743e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.png
index fd25073..9cf5c5ab 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt
index e4995e9..ecb1180 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt
@@ -2,7 +2,33 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 316x20
+            text run at (0,0) width 316: "unicode-bidi=\"bidi-override\" direction=\"ltr\"."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 435x36
+              text run at (0,0) width 435 LTR override: "Text \"\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\" is in"
+              text run at (0,18) width 54 LTR override: "Hebrew"
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 316x20
+            text run at (0,0) width 316: "unicode-bidi=\"bidi-override\" direction=\"rtl\"."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (30,0) size 435x36
+              text run at (30,0) width 435 RTL override: "Text \"\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\" is in"
+              text run at (411,18) width 54 RTL override: "Hebrew"
+        RenderSVGText {text} at (0,0) size 465x20
+          RenderText {TEXT} at (0,0) size 274x20
+            text run at (0,0) width 274: "unicode-bidi=\"normal\" direction=\"ltr\"."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (30,0) size 435x36
+              text run at (30,0) width 45: "is in"
+              text run at (75,0) width 354 RTL: " \"\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\" "
+              text run at (429,0) width 36: "Text"
+              text run at (411,18) width 54: "Hebrew"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum
index 8a71cb4..2c2e706 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+7dc107f4dd6b0afd2f997231613a81b5
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.png
index fd25073..c918c8b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt
index 1df5913..b20e58a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt
@@ -3,4 +3,25 @@
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x14
+            RenderText {TEXT} at (0,0) size 294x14
+              text run at (0,0) width 294: "Text \"\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}\" in Chinese"
+          RenderSVGText {text} at (0,0) size 465x13
+            RenderText {TEXT} at (0,0) size 395x13
+              text run at (0,0) width 395: "Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{3089}\x{308C}\x{307E}\x{3059}\x{3002}\x{305D}\x{308C}\x{306F}\x{79C1}\x{3092}\x{50B7}\x{3064}\x{3051}\x{307E}\x{305B}\x{3093}\x{3002}"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 300x10
+              text run at (0,0) width 300: "Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{3089}\x{308C}\x{307E}\x{3059}\x{3002}\x{305D}\x{308C}\x{306F}\x{79C1}\x{3092}\x{50B7}\x{3064}\x{3051}\x{307E}\x{305B}\x{3093}\x{3002}"
+          RenderSVGText {text} at (0,0) size 465x33
+            RenderText {TEXT} at (0,0) size 160x33
+              text run at (0,0) width 160: "xt \"\x{6211}\x{80FD}\x{541E}"
+          RenderSVGText {text} at (0,0) size 465x36
+            RenderText {TEXT} at (0,0) size 144x36
+              text run at (0,0) width 144: "se: \x{79C1}\x{306F}"
+          RenderSVGText {text} at (0,0) size 465x33
+            RenderText {TEXT} at (0,0) size 128x33
+              text run at (0,0) width 128: "se: \x{79C1}\x{306F}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum
index 8a71cb4..a6aaf8c 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+dbc47cc72271c50c38d962a062572138
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.png
index fd25073..e9970c7 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt
index 1df5913..8329309 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt
@@ -2,5 +2,39 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0,0) size 0x0
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 138x18
+            text run at (0,0) width 138: "Test horizontal text."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x17
+            RenderText {TEXT} at (0,0) size 378x17
+              text run at (0,0) width 378: "Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi nie szkodzi."
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 432x34
+              text run at (0,0) width 432: "Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C} \x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, \x{44D}\x{442}\x{43E}"
+              text run at (0,17) width 214: "\x{43C}\x{43D}\x{435} \x{43D}\x{435} \x{432}\x{440}\x{435}\x{434}\x{438}\x{442}."
+          RenderSVGText {text} at (0,0) size 465x30
+            RenderText {TEXT} at (0,0) size 420x30
+              text run at (0,0) width 420: "Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} \x{3C3}\x{3C0}\x{3B1}\x{3C3}\x{3BC}\x{3AD}\x{3BD}\x{3B1} \x{3B3}\x{3C5}\x{3B1}\x{3BB}\x{3B9}\x{3AC}"
+              text run at (0,15) width 259: "\x{3C7}\x{3C9}\x{3C1}\x{3AF}\x{3C2} \x{3BD}\x{3B1} \x{3C0}\x{3AC}\x{3B8}\x{3C9} \x{3C4}\x{3AF}\x{3C0}\x{3BF}\x{3C4}\x{3B1}."
+          RenderSVGText {text} at (0,0) size 465x34
+            RenderText {TEXT} at (0,0) size 422x34
+              text run at (0,0) width 54: "Text \""
+              text run at (54,0) width 305 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}"
+              text run at (359,0) width 63: "\" is in"
+              text run at (0,17) width 54: "Hebrew"
+          RenderSVGText {text} at (0,0) size 465x17
+            RenderText {TEXT} at (0,0) size 439x17
+              text run at (0,0) width 81: "Yiddish: "
+              text run at (81,0) width 349 RTL: "\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF} \x{5E2}\x{5E1} \x{5D8}\x{5D5}\x{5D8} \x{5DE}\x{5D9}\x{5E8} \x{5E0}\x{5D9}\x{5E9}\x{5D8} \x{5F0}\x{5F2}"
+              text run at (430,0) width 9: "."
+          RenderSVGText {text} at (0,0) size 465x17
+            RenderText {TEXT} at (0,0) size 276x17
+              text run at (0,0) width 276: "Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}"
+          RenderSVGText {text} at (0,0) size 465x15
+            RenderText {TEXT} at (0,0) size 455x15
+              text run at (0,0) width 455: "Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{3089}\x{308C}\x{307E}\x{3059}\x{3002}\x{305D}\x{308C}\x{306F}\x{79C1}\x{3092}\x{50B7}\x{3064}\x{3051}\x{307E}\x{305B}\x{3093}\x{3002}"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.checksum
index 14a4523..03580b3 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.checksum
@@ -1 +1 @@
-e1701f695ffc3b046f25ef78191bf035
\ No newline at end of file
+1117d180deea90953205a479febe06ac
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.png
index ca5cf6e..dd8e089 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
index 948ebf2..b373c37 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
@@ -6,14 +6,32 @@
           KCanvasContainer {use} at (198.53,22.02) size 219.77x84.55
             KCanvasContainer {g} at (198.53,22.02) size 219.77x84.55
               KCanvasItem {path} at (198.53,22.02) size 219.77x84.55 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30C206.60,66.60,235.80,13.20,270.00,30.30C286.60,38.60,298.90,59.40,310.00,73.30C321.70,87.90,338.60,99.00,356.00,103.30C387.30,111.10,396.60,90.40,418.00,74.30"]
+          RenderSVGText {text} at (0,0) size 465x0
         KCanvasContainer {g} at (16.50,78.52) size 275x131.98
           KCanvasContainer {use} at (33.03,78.52) size 219.77x84.55
             KCanvasContainer {g} at (33.03,78.52) size 219.77x84.55
               KCanvasItem {path} at (33.03,78.52) size 219.77x84.55 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80C41.00,123.00,70.30,69.70,104.50,86.80C121.00,95.00,133.00,116.00,144.50,129.80C156.20,144.40,173.00,155.50,190.50,159.80C221.80,167.60,231.00,146.90,252.50,130.80"]
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (16.50,168.50) size 275x42 [stroke={[type=SOLID] [color=#000000]}] [data="M17.00,169.00L291.00,169.00L291.00,210.00L17.00,210.00"]
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 223x23
+              text run at (0,0) width 223: "'tspan' subelement inside"
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 199x23
+              text run at (0,0) width 199: "the 'textPath' element."
         KCanvasContainer {g} at (113,231) size 300x60.50
           KCanvasContainer {use} at (113,231) size 300x4
             KCanvasContainer {g} at (113,231) size 300x4
               KCanvasItem {path} at (113,231) size 300x4 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [data="M113.00,233.00L413.00,233.00"]
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (117.50,249.50) size 261x42 [stroke={[type=SOLID] [color=#000000]}] [data="M118.00,250.00L378.00,250.00L378.00,291.00L118.00,291.00"]
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 239x23
+              text run at (0,0) width 239: "'startOffset' attribute of the"
+          RenderSVGText {text} at (0,0) size 465x23
+            RenderText {TEXT} at (0,0) size 165x23
+              text run at (0,0) width 165: "'textPath' element."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum
index cf41ea2..056915a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.checksum
@@ -1 +1 @@
-7cee19de73f51cfcb4f6a4cd9def4d30
\ No newline at end of file
+329bd7f0d6d1412076a2871846bc4d09
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
index 40f55ea..e4816a1 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt
index 2ab8b00..97fc7c9 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt
@@ -3,4 +3,25 @@
     KCanvasContainer {svg} at (3,3) size 474x354
       KCanvasContainer {g} at (0,0) size 0x0
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 64x10
+              text run at (0,0) width 64: "letter-spacing:0"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 50x10
+              text run at (0,0) width 50: "letter-spacing:-1"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 67x10
+              text run at (0,0) width 67: "letter-spacing:.3"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 73x10
+              text run at (0,0) width 73: "ws:0 - Two Words"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 67x10
+              text run at (0,0) width 67: "ws:-3 - Two Words"
+          RenderSVGText {text} at (0,0) size 465x10
+            RenderText {TEXT} at (0,0) size 82x10
+              text run at (0,0) width 82: "ws:3 - Two Words"
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (3,3) size 474x354 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L79.00,1.00L79.00,59.00L1.00,59.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum
index 5f1a6a2..b136b10 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum
@@ -1 +1 @@
-87dca27b4128b57d47e498b130ee9181
\ No newline at end of file
+2bc9a280cd9bcfafd99f7187fa862782
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.png
index c90359a..50ac61d5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
index c90957f..8405808 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
@@ -2,8 +2,20 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (1.50,1.50) size 477x357
       KCanvasContainer {g} at (4.50,94.50) size 471x211.50
+        RenderSVGText {text} at (0,0) size 465x11
+          RenderText {TEXT} at (0,0) size 114x11
+            text run at (0,0) width 114: "Basic test of 'textLength'"
+        RenderSVGText {text} at (0,0) size 465x11
+          RenderText {TEXT} at (0,0) size 132x11
+            text run at (0,0) width 132: "and 'lengthAdjust' attributes."
         KCanvasContainer {g} at (4.50,94.50) size 471x13.50
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 61x10
+                text run at (0,0) width 61: "Line to Stretch"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 99x10
+                text run at (0,0) width 99: "this is a line to squeeze"
           KCanvasContainer {g} at (4.50,94.50) size 471x13.50
             KCanvasItem {line} at (6,94.50) size 162x3 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L56.00,32.00"]
             KCanvasItem {line} at (4.50,96) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L2.00,36.00"]
@@ -12,8 +24,26 @@
             KCanvasItem {line} at (220.50,96) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M74.00,32.00L74.00,36.00"]
             KCanvasItem {line} at (472.50,96) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M158.00,32.00L158.00,36.00"]
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 78x10
+                text run at (0,0) width 78: "textLength: default"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 85x10
+                text run at (0,0) width 85: "lengthAdjust: default"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 78x10
+                text run at (0,0) width 78: "textLength: default"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 85x10
+                text run at (0,0) width 85: "lengthAdjust: default"
         KCanvasContainer {g} at (4.50,116.50) size 420x13.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,22.00)}]
           KCanvasContainer {g} at (0,22) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 61x10
+                text run at (0,0) width 61: "Line to Stretch"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 99x10
+                text run at (0,0) width 99: "this is a line to squeeze"
           KCanvasContainer {g} at (4.50,116.50) size 420x13.50
             KCanvasItem {line} at (6,116.50) size 201x3 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L69.00,32.00"]
             KCanvasItem {line} at (4.50,118) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L2.00,36.00"]
@@ -22,8 +52,26 @@
             KCanvasItem {line} at (220.50,118) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M74.00,32.00L74.00,36.00"]
             KCanvasItem {line} at (421.50,118) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M141.00,32.00L141.00,36.00"]
           KCanvasContainer {g} at (0,22) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 96x10
+                text run at (0,0) width 96: "textLength: 25% longer"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 85x10
+                text run at (0,0) width 85: "lengthAdjust: default"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 100x10
+                text run at (0,0) width 100: "textLength: 15% shorter"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 85x10
+                text run at (0,0) width 85: "lengthAdjust: default"
         KCanvasContainer {g} at (4.50,138.50) size 420x13.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,44.00)}]
           KCanvasContainer {g} at (0,44) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 61x10
+                text run at (0,0) width 61: "Line to Stretch"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 99x10
+                text run at (0,0) width 99: "this is a line to squeeze"
           KCanvasContainer {g} at (4.50,138.50) size 420x13.50
             KCanvasItem {line} at (6,138.50) size 201x3 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L69.00,32.00"]
             KCanvasItem {line} at (4.50,140) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L2.00,36.00"]
@@ -32,8 +80,26 @@
             KCanvasItem {line} at (220.50,140) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M74.00,32.00L74.00,36.00"]
             KCanvasItem {line} at (421.50,140) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M141.00,32.00L141.00,36.00"]
           KCanvasContainer {g} at (0,44) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 96x10
+                text run at (0,0) width 96: "textLength: 25% longer"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 89x10
+                text run at (0,0) width 89: "lengthAdjust: spacing"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 100x10
+                text run at (0,0) width 100: "textLength: 15% shorter"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 89x10
+                text run at (0,0) width 89: "lengthAdjust: spacing"
         KCanvasContainer {g} at (4.50,160.50) size 420x13.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,66.00)}]
           KCanvasContainer {g} at (0,66) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 61x10
+                text run at (0,0) width 61: "Line to Stretch"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 99x10
+                text run at (0,0) width 99: "this is a line to squeeze"
           KCanvasContainer {g} at (4.50,160.50) size 420x13.50
             KCanvasItem {line} at (6,160.50) size 201x3 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L69.00,32.00"]
             KCanvasItem {line} at (4.50,162) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M2.00,32.00L2.00,36.00"]
@@ -42,4 +108,19 @@
             KCanvasItem {line} at (220.50,162) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M74.00,32.00L74.00,36.00"]
             KCanvasItem {line} at (421.50,162) size 3x12 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M141.00,32.00L141.00,36.00"]
           KCanvasContainer {g} at (0,66) size 0x0
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 96x10
+                text run at (0,0) width 96: "textLength: 25% longer"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 75x10
+                text run at (0,0) width 75: "lengthAdjust: sAG"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 100x10
+                text run at (0,0) width 100: "textLength: 20% shorter"
+            RenderSVGText {text} at (0,0) size 465x10
+              RenderText {TEXT} at (0,0) size 75x10
+                text run at (0,0) width 75: "lengthAdjust: sAG"
+      RenderSVGText {text} at (0,0) size 465x10
+        RenderText {TEXT} at (0,0) size 77x10
+          text run at (0,0) width 77: "$Revision$"
       KCanvasItem {rect} at (1.50,1.50) size 477x357 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L159.00,1.00L159.00,119.00L1.00,119.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.checksum
index c7db48d..5b7b86a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.checksum
@@ -1 +1 @@
-7173e105913fa1512d99c591c84c2b30
\ No newline at end of file
+905d301cff76b82fb9b306c6d2aefb9f
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.png
index 82049f0..e4502eb 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.txt
index f70aa6f..c68c2f4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-text-03-b-expected.txt
@@ -2,7 +2,38 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (49,224) size 382x66
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 76x39
+            text run at (0,0) width 76: "Plain"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 80x39
+            text run at (0,0) width 80: "Italic"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 79x39
+            text run at (0,0) width 79: "Bold"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 153x39
+            text run at (0,0) width 153: "Underline"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 203x39
+            text run at (0,0) width 203: "Line through"
+        RenderSVGText {text} at (0,0) size 465x78
+          RenderText {TEXT} at (0,0) size 267x78
+            text run at (0,0) width 267: "Bold, italic and"
+            text run at (0,39) width 193: "underlined"
         KCanvasContainer {g} at (49,224) size 382x66
           KCanvasItem {rect} at (49,224) size 382x66 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M50.00,225.00L430.00,225.00L430.00,289.00L50.00,289.00"]
           KCanvasContainer {g} at (0,0) size 0x0
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 343x28
+                text run at (0,0) width 343: "Each line of text which flows in a"
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 347x28
+                text run at (0,0) width 347: "rectangular box has to be broken"
+            RenderSVGText {text} at (0,0) size 465x28
+              RenderText {TEXT} at (0,0) size 212x28
+                text run at (0,0) width 212: "into separated lines."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum
index 6b7f716..d3ffacf 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.checksum
@@ -1 +1 @@
-45924abaf2a41158a9ece480e2d2f7e7
\ No newline at end of file
+e41c005fe81e3af8b6fa87e2302ceb41
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.png
index 0add6a0..906ff47 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt
index 690f18a..1471815 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt
@@ -2,5 +2,15 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (72.50,182.50) size 261x23
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 281x14
+            text run at (0,0) width 281: "Test 'tref' element with an external referenced string."
+        RenderSVGText {text} at (0,0) size 465x0
         KCanvasItem {rect} at (72.50,182.50) size 261x23 [stroke={[type=SOLID] [color=#000000]}] [data="M73.00,183.00L333.00,183.00L333.00,205.00L73.00,205.00"]
+        RenderSVGText {text} at (0,0) size 465x14
+          RenderText {TEXT} at (0,0) size 154x14
+            text run at (0,0) width 154: "'tref' to a string in another file"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum
index 8a71cb4..3c6f2f2 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.checksum
@@ -1 +1 @@
-84046a649700a49db08f7e7472427efa
\ No newline at end of file
+1d815203f056ac94822c178cdd49f98e
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png
index fd25073..48b5590 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt
index 2e21148..7c29930 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt
@@ -2,5 +2,24 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (0.50,0.50) size 479x359
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 304x18
+            text run at (0,0) width 304: "Test single line and multiline text selection."
         KCanvasContainer {g} at (0,0) size 0x0
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 252x18
+              text run at (0,0) width 252: "Here is a stand-alone 'text' element."
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 296x18
+              text run at (0,0) width 296: "Here is a second 'text' element just below."
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 338x18
+              text run at (0,0) width 338: "Because these are four separate 'text' elements,"
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 322x18
+              text run at (0,0) width 322: "text selection should not go across lines here."
+          RenderSVGText {text} at (0,0) size 465x0
+        RenderSVGText {text} at (0,0) size 465x46
+          RenderText {TEXT} at (0,0) size 314x46
+            text run at (0,0) width 314: "$Revision$"
         KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum
index 820a833..12a6456 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.checksum
@@ -1 +1 @@
-225a0f4ea3d1a7954f2e0e3e65f44585
\ No newline at end of file
+2b5b19573602387175ce248faee083ef
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png
index a41e9a1..af4b16b 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt
index db69cd3..6f5f015 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt
@@ -2,10 +2,52 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (17,73.75) size 454x225
+        RenderSVGText {text} at (0,0) size 465x18
+          RenderText {TEXT} at (0,0) size 420x18
+            text run at (0,0) width 420: "Basics of tspan: changing visual properties and positioning."
         KCanvasContainer {g} at (47,73.75) size 311.50x54.50
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 56x18
+              text run at (0,0) width 56: "You are"
+            RenderText {TEXT} at (56,0) size 71x18
+              text run at (56,0) width 71: "a banana."
           KCanvasItem {rect} at (47,73.75) size 311.50x54.50 [stroke={[type=SOLID] [color=#000000]}] [data="M47.50,74.25L358.00,74.25L358.00,127.75L47.50,127.75"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 208x18
+              text run at (0,0) width 208: "Text: \"You are not a banana.\""
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 284x18
+              text run at (0,0) width 284: "'tspan' changes visual attributes of \"not\","
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 83x18
+              text run at (0,0) width 83: "to red, bold."
         KCanvasContainer {g} at (224.50,178.50) size 246.50x54.50
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 54x18
+              text run at (0,0) width 54: "But you"
           KCanvasItem {rect} at (224.50,178.50) size 246.50x54.50 [stroke={[type=SOLID] [color=#000000]}] [data="M225.00,179.00L470.50,179.00L470.50,232.50L225.00,232.50"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 197x18
+              text run at (0,0) width 197: "Text: \"But you are a peach!\""
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 227x18
+              text run at (0,0) width 227: "Using dx,dy, 'tspan' raises \"are\","
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 173x18
+              text run at (0,0) width 173: "'tspan' lowers \"a peach!\""
         KCanvasContainer {g} at (17,244.25) size 336.50x54.50
+          RenderSVGText {text} at (0,0) size 465x0
           KCanvasItem {rect} at (17,244.25) size 336.50x54.50 [stroke={[type=SOLID] [color=#000000]}] [data="M17.50,244.75L353.00,244.75L353.00,298.25L17.50,298.25"]
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 161: "Text: \"Cute and fuzzy.\""
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 318x18
+              text run at (0,0) width 318: "'tspan' char-by-char placement of \"Cute and\","
+          RenderSVGText {text} at (0,0) size 465x18
+            RenderText {TEXT} at (0,0) size 258x18
+              text run at (0,0) width 258: "'tspan' char-by-char \"fuzzy\", below it."
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum
index 048716f..9594899 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.checksum
@@ -1 +1 @@
-f93001d2decc872a02755da5f6913cc0
\ No newline at end of file
+38c8a031a77ec09edf0ea2386f045cb9
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.png
index 0a8818e9..22852ba 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt
index 0241586..8249b3a 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt
@@ -2,6 +2,34 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (24.50,144.50) size 351x157
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 427x39
+            text run at (0,0) width 427: "Basic: xml:space attribute"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 373x39
+            text run at (0,0) width 373: "& whitespace handling."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 414x45
+            text run at (0,0) width 414: "WS with indented lines."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 414x45
+            text run at (0,0) width 414: "WS with indented lines."
         KCanvasItem {rect} at (24.50,144.50) size 351x37 [stroke={[type=SOLID] [color=#000000]}] [data="M25.00,145.00L375.00,145.00L375.00,181.00L25.00,181.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 337x45
+            text run at (0,0) width 337: "xml:space='default'"
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 411x45
+            text run at (0,0) width 76: "WS "
+            text run at (76,0) width 335: "non-indented lines."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 411x45
+            text run at (0,0) width 411: "WS non-indented lines."
         KCanvasItem {rect} at (24.50,264.50) size 351x37 [stroke={[type=SOLID] [color=#000000]}] [data="M25.00,265.00L375.00,265.00L375.00,301.00L25.00,301.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 337x45
+            text run at (0,0) width 337: "xml:space='default'"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum
index e4f771b..cea63a6 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.checksum
@@ -1 +1 @@
-55309db5dce2031624aff407c494a878
\ No newline at end of file
+72a931cf6267e747e499aeeb1b7317d6
\ No newline at end of file
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.png b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.png
index 9a9b1f3..02f06d5 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.png
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.png
Binary files differ
diff --git a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt
index b40f8c1..8a2f5c4 100644
--- a/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt
+++ b/LayoutTests/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt
@@ -2,6 +2,35 @@
   RenderCanvas at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
       KCanvasContainer {g} at (24.50,144.50) size 381x157
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 427x39
+            text run at (0,0) width 427: "Basic: xml:space attribute"
+        RenderSVGText {text} at (0,0) size 465x39
+          RenderText {TEXT} at (0,0) size 373x39
+            text run at (0,0) width 373: "& whitespace handling."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 414x45
+            text run at (0,0) width 76: "WS "
+            text run at (76,0) width 82: "with "
+            text run at (158,0) width 256: "indented lines."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 458x45
+            text run at (0,0) width 458: " WS   with  indented lines."
         KCanvasItem {rect} at (24.50,144.50) size 381x37 [stroke={[type=SOLID] [color=#000000]}] [data="M25.00,145.00L405.00,145.00L405.00,181.00L25.00,181.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 372x45
+            text run at (0,0) width 372: "xml:space='preserve'"
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 411x45
+            text run at (0,0) width 411: "WS non-indented lines."
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 411x45
+            text run at (0,0) width 411: "WS non-indented lines."
         KCanvasItem {rect} at (24.50,264.50) size 381x37 [stroke={[type=SOLID] [color=#000000]}] [data="M25.00,265.00L405.00,265.00L405.00,301.00L25.00,301.00"]
+        RenderSVGText {text} at (0,0) size 465x45
+          RenderText {TEXT} at (0,0) size 372x45
+            text run at (0,0) width 372: "xml:space='preserve'"
+      RenderSVGText {text} at (0,0) size 465x46
+        RenderText {TEXT} at (0,0) size 314x46
+          text run at (0,0) width 314: "$Revision$"
       KCanvasItem {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f0d8649..53ad21f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,34 @@
+2006-01-07  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Eric.
+
+        - added basic SVG text support using CSS-based rendering
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4883
+ 
+        Affects many test results in LayoutTests/svg.
+
+        * kcanvas/RenderSVGText.cpp: Added. Simple subclass of RenderBlock for SVG text.
+        (RenderSVGText::RenderSVGText): just call superclass constructor.
+        (RenderSVGText::translateTopToBaseline): helper to account for the fact that
+	y coordinates for <text> give the baseline position, but the render tree expects
+	current y to be the top.
+        (RenderSVGText::translateForAttributes): translate to account for x and y
+	attributes.
+        (RenderSVGText::paint): Apply appropriate CTM transform and then just let
+	RenderBlock paint.
+        * kcanvas/RenderSVGText.h: Added.
+        (RenderSVGText::renderName):
+        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
+        (KRenderingDeviceContextQuartz::nsGraphicsContext): We want the context flipped.
+        * ksvg2/css/svg.css: Give <svg:text> display: block
+        * ksvg2/svg/SVGTextElementImpl.cpp:
+        (SVGTextElementImpl::createRenderer): Create a RenderSVGText renderer.
+        (SVGTextElementImpl::childShouldCreateRenderer): Let child text nodes make
+	renderers, but nothing else (for now).
+        * ksvg2/svg/SVGTextElementImpl.h:
+        (KSVG::SVGTextElementImpl::rendererIsNeeded): It sure is! :-)
+        * WebCore.xcodeproj/project.pbxproj: Add new files.
+
 2006-01-07  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by mjs
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 281ff80..95b3436 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -69,6 +69,8 @@
 		654D87B80831973B0082DCA1 /* edit_command.h in Headers */ = {isa = PBXBuildFile; fileRef = 654D87B60831973B0082DCA1 /* edit_command.h */; };
 		6552E7AA096AA11B0006F248 /* WebCoreFrameNamespaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 6552E7A8096AA11B0006F248 /* WebCoreFrameNamespaces.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		6552E7AB096AA11B0006F248 /* WebCoreFrameNamespaces.m in Sources */ = {isa = PBXBuildFile; fileRef = 6552E7A9096AA11B0006F248 /* WebCoreFrameNamespaces.m */; };
+		65743B52097076F8001E7CEF /* RenderSVGText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65743B50097076F8001E7CEF /* RenderSVGText.cpp */; };
+		65743B53097076F8001E7CEF /* RenderSVGText.h in Headers */ = {isa = PBXBuildFile; fileRef = 65743B51097076F8001E7CEF /* RenderSVGText.h */; };
 		65AC79A10831ED6D009385CE /* append_node_command.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65AC799F0831ED6D009385CE /* append_node_command.cpp */; };
 		65AC79A20831ED6D009385CE /* append_node_command.h in Headers */ = {isa = PBXBuildFile; fileRef = 65AC79A00831ED6D009385CE /* append_node_command.h */; };
 		65AC79A90831F006009385CE /* apply_style_command.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65AC79A70831F006009385CE /* apply_style_command.cpp */; };
@@ -1707,6 +1709,8 @@
 		6552E7A8096AA11B0006F248 /* WebCoreFrameNamespaces.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCoreFrameNamespaces.h; sourceTree = "<group>"; };
 		6552E7A9096AA11B0006F248 /* WebCoreFrameNamespaces.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = WebCoreFrameNamespaces.m; sourceTree = "<group>"; };
 		65732B68054EF483007B42F8 /* KWQKPartsPart.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = KWQKPartsPart.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
+		65743B50097076F8001E7CEF /* RenderSVGText.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGText.cpp; sourceTree = "<group>"; };
+		65743B51097076F8001E7CEF /* RenderSVGText.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderSVGText.h; sourceTree = "<group>"; };
 		65912B0D0586921000123A69 /* xmlserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xmlserializer.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		65912B0E0586921000123A69 /* xmlserializer.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = xmlserializer.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		65A640F00533BB1F0085E777 /* KWQExceptions.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQExceptions.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -3340,6 +3344,8 @@
 		A8C0FB51089701F700BA5114 /* kcanvas */ = {
 			isa = PBXGroup;
 			children = (
+				65743B50097076F8001E7CEF /* RenderSVGText.cpp */,
+				65743B51097076F8001E7CEF /* RenderSVGText.h */,
 				A8C0FB53089701F700BA5114 /* device */,
 				A8C0FB7A089701F800BA5114 /* KCanvasContainer.cpp */,
 				A8C0FB7B089701F800BA5114 /* KCanvasContainer.h */,
@@ -4718,6 +4724,7 @@
 				4756536909652C5D00BD9F29 /* KWQSizeF.h in Headers */,
 				A81655D4096BBEAC00601058 /* KCanvasMaskerQuartz.h in Headers */,
 				A81655E5096BC13900601058 /* SVGMaskElementImpl.h in Headers */,
+				65743B53097076F8001E7CEF /* RenderSVGText.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6562,6 +6569,7 @@
 				4756536A09652C5D00BD9F29 /* KWQSizeF.mm in Sources */,
 				A81655D5096BBEAC00601058 /* KCanvasMaskerQuartz.mm in Sources */,
 				A81655E4096BC13900601058 /* SVGMaskElementImpl.cpp in Sources */,
+				65743B52097076F8001E7CEF /* RenderSVGText.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/WebCore/kcanvas/RenderSVGText.cpp b/WebCore/kcanvas/RenderSVGText.cpp
new file mode 100644
index 0000000..c7a448d
--- /dev/null
+++ b/WebCore/kcanvas/RenderSVGText.cpp
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the KDE project.
+ *
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+
+#include "config.h"
+#include "RenderSVGText.h"
+#include "SVGTextElementImpl.h"
+#include "SVGAnimatedLengthListImpl.h"
+
+#import "KRenderingDevice.h"
+#import "KCanvasMatrix.h"
+
+RenderSVGText::RenderSVGText(KSVG::SVGTextElementImpl *node) 
+    : RenderBlock(node)
+{
+}
+
+void RenderSVGText::translateTopToBaseline()
+{
+    KRenderingDeviceContext *context = QPainter::renderingDevice()->currentContext();
+
+    int offset = baselinePosition(true, true);
+    context->concatCTM(QMatrix().translate(0, -offset));
+}
+
+void RenderSVGText::translateForAttributes()
+{
+    KRenderingDeviceContext *context = QPainter::renderingDevice()->currentContext();
+
+    KSVG::SVGTextElementImpl *text = static_cast<KSVG::SVGTextElementImpl *>(element());
+
+    float xOffset = text->x()->baseVal()->getFirst() ? text->x()->baseVal()->getFirst()->value() : 0;
+    float yOffset = text->y()->baseVal()->getFirst() ? text->y()->baseVal()->getFirst()->value() : 0;
+
+    context->concatCTM(QMatrix().translate(xOffset, yOffset));
+}
+
+void RenderSVGText::paint(PaintInfo& paintInfo, int parentX, int parentY)
+{
+    if (paintInfo.p->paintingDisabled())
+        return;
+
+    paintInfo.p->save();
+
+    KRenderingDeviceContext *context = QPainter::renderingDevice()->currentContext();
+    context->concatCTM(QMatrix().translate(parentX, parentY));
+    translateForAttributes();
+    translateTopToBaseline();
+    
+    RenderBlock::paint(paintInfo, 0, 0);
+
+    paintInfo.p->restore();
+}
diff --git a/WebCore/kcanvas/RenderSVGText.h b/WebCore/kcanvas/RenderSVGText.h
new file mode 100644
index 0000000..e4491fc
--- /dev/null
+++ b/WebCore/kcanvas/RenderSVGText.h
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the KDE project.
+ *
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef RenderSVGText_H
+#define RenderSVGText_H
+
+#include "khtml/rendering/render_block.h"
+
+namespace KSVG {
+    class SVGTextElementImpl;
+}
+
+class RenderSVGText : public khtml::RenderBlock
+{
+public:
+    RenderSVGText(KSVG::SVGTextElementImpl *node);
+
+    const char *renderName() const { return "RenderSVGText"; }
+    void paint(PaintInfo& paintInfo, int parentX, int parentY);
+
+ private:
+    void translateTopToBaseline();
+    void translateForAttributes();
+};
+
+#endif RenderSVGText_H
diff --git a/WebCore/kcanvas/device/quartz/KRenderingDeviceQuartz.mm b/WebCore/kcanvas/device/quartz/KRenderingDeviceQuartz.mm
index 2d6b2fb..c8e5614 100644
--- a/WebCore/kcanvas/device/quartz/KRenderingDeviceQuartz.mm
+++ b/WebCore/kcanvas/device/quartz/KRenderingDeviceQuartz.mm
@@ -82,7 +82,7 @@
 NSGraphicsContext *KRenderingDeviceContextQuartz::nsGraphicsContext()
 {
     if (!m_nsGraphicsContext && m_cgContext)
-        m_nsGraphicsContext = [[NSGraphicsContext graphicsContextWithGraphicsPort:m_cgContext flipped:NO] retain];
+        m_nsGraphicsContext = [[NSGraphicsContext graphicsContextWithGraphicsPort:m_cgContext flipped:YES] retain];
     return m_nsGraphicsContext;
 }
 
diff --git a/WebCore/ksvg2/css/svg.css b/WebCore/ksvg2/css/svg.css
index 2d12eb4..8947897 100644
--- a/WebCore/ksvg2/css/svg.css
+++ b/WebCore/ksvg2/css/svg.css
@@ -39,3 +39,8 @@
 {
     overflow: hidden;
 }
+
+text
+{
+    display: block;
+}
diff --git a/WebCore/ksvg2/svg/SVGTextElementImpl.cpp b/WebCore/ksvg2/svg/SVGTextElementImpl.cpp
index c51a017..c2b9269 100644
--- a/WebCore/ksvg2/svg/SVGTextElementImpl.cpp
+++ b/WebCore/ksvg2/svg/SVGTextElementImpl.cpp
@@ -30,6 +30,7 @@
 #include <kdom/css/RenderStyle.h>
 
 #include <kcanvas/KCanvasCreator.h>
+#include <kcanvas/RenderSVGText.h>
 
 #include <qvector.h>
 
@@ -75,4 +76,16 @@
     return SVGLocatableImpl::getScreenCTM(this);
 }
 
+khtml::RenderObject *SVGTextElementImpl::createRenderer(RenderArena *arena, khtml::RenderStyle *style)
+{
+    return new (arena) RenderSVGText(this);
+}
+
+bool SVGTextElementImpl::childShouldCreateRenderer(DOM::NodeImpl *child) const
+{
+    if (child->isTextNode())
+        return true;
+    return false;
+}
+
 // vim:ts=4:noet
diff --git a/WebCore/ksvg2/svg/SVGTextElementImpl.h b/WebCore/ksvg2/svg/SVGTextElementImpl.h
index d95899c..fe49072 100644
--- a/WebCore/ksvg2/svg/SVGTextElementImpl.h
+++ b/WebCore/ksvg2/svg/SVGTextElementImpl.h
@@ -46,6 +46,10 @@
         virtual SVGMatrixImpl *getScreenCTM() const;
         virtual SVGMatrixImpl *getTransformToElement(SVGElementImpl *element) const { return 0; }
 
+        virtual bool rendererIsNeeded(khtml::RenderStyle *) { return true; }
+        virtual khtml::RenderObject *createRenderer(RenderArena *arena, khtml::RenderStyle *style);
+        virtual bool childShouldCreateRenderer(DOM::NodeImpl *) const;
+
         virtual SVGAnimatedTransformListImpl *transform() const { return 0; }
         virtual SVGMatrixImpl *localMatrix() const { return 0; }