Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=6868
I have not only made TransformationMatrix platform independent
but I've also added 3D methods, which will be used when I update
WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
the math as doubles rather than floats. This makes a TransformationMatrix
go from 24 bytes to 128 bytes, but I don't think this class is used enough to
make this overhead will be significant.
The change from floats to doubles has caused some differences in rounding and
display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
so I've had to change some LayoutTest results in the SVG tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 1f106c4..875546a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,66 @@
+2009-02-06 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=6868
+
+ Fixed results of several svg tests because of differences
+ in rounding caused by TransformationMatrix changing from
+ single to double precision math.
+
+ * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
+ * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
+ * platform/mac/svg/batik/text/textProperties-expected.txt:
+ * platform/mac/svg/batik/text/verticalText-expected.txt:
+ * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
+ * platform/mac/svg/carto.net/slider-expected.txt:
+ * platform/mac/svg/carto.net/tabgroup-expected.txt:
+ * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt:
+ * platform/mac/svg/custom/invalid-css-expected.txt:
+ * platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt:
+ * platform/mac/svg/custom/js-late-marker-creation-expected.txt:
+ * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
+ * platform/mac/svg/custom/shapes-supporting-markers-expected.txt:
+ * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt:
+ * platform/mac/svg/custom/viewbox-syntax-expected.txt:
+ * platform/mac/svg/hixie/perf/001-expected.txt:
+ * platform/mac/svg/hixie/perf/002-expected.txt:
+ * platform/mac/svg/hixie/perf/007-expected.txt:
+ * platform/mac/svg/text/text-align-01-b-expected.txt:
+ * platform/mac/svg/text/text-align-05-b-expected.txt:
+ * platform/mac/svg/text/text-fonts-01-t-expected.txt:
+ * platform/mac/svg/text/text-text-04-t-expected.txt:
+ * platform/mac/svg/text/text-text-05-t-expected.txt:
+ * platform/mac/svg/text/text-text-06-t-expected.txt:
+ * platform/mac/svg/text/text-tref-01-b-expected.txt:
+ * svg/custom/getTransformToElement.svg:
+
2009-02-05 Eric Seidel <eric@webkit.org>
Reviewed by Eric Seidel.
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt
index 3e53717..9fbe73f 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt
@@ -9,7 +9,7 @@
RenderPath {polyline} at (211.66,216.46) size 49.87x59.99 [transform={m=((0.97,0.26)(-0.26,0.97)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=9.00]}] [data="M200.00,120.00 L200.00,140.00 L220.00,140.00 L220.00,160.00"]
RenderPath {line} at (44.26,12.13) size 29.49x53.74 [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=3.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,50.00 L20.00,10.00"]
RenderPath {line} at (123.13,11.26) size 105.74x55.49 [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=3.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M160.00,50.00 L80.00,10.00"]
- RenderPath {line} at (59,38.35) size 117.00x1.30 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M30.00,30.00 L120.00,30.00"]
+ RenderPath {line} at (59,38.35) size 117x1.30 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M30.00,30.00 L120.00,30.00"]
RenderPath {path} at (163,35.10) size 13x7.80 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M120.00,30.00 L110.00,33.00 L110.00,27.00 Z"]
RenderPath {line} at (111,90.35) size 97.50x1.30 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M70.00,70.00 L145.00,70.00"]
RenderPath {rect} at (31.70,76.70) size 80.60x28.60 [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=2.00]}] [fill={[type=SOLID] [color=#B4B4B4]}] [data="M10.00,60.00 L70.00,60.00 L70.00,80.00 L10.00,80.00 Z"]
@@ -21,12 +21,12 @@
RenderPath {path} at (125.30,224.90) size 11.70x15.60 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M90.00,185.00 L87.00,173.00 L81.00,178.00 Z"]
RenderPath {rect} at (408.70,11.70) size 28.60x28.60 [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=2.00]}] [fill={[type=SOLID] [color=#B4B4B4]}] [data="M300.00,10.00 L320.00,10.00 L320.00,30.00 L300.00,30.00 Z"]
RenderPath {rect} at (408.70,219.70) size 28.60x54.60 [stroke={[type=SOLID] [color=#B4B4B4] [stroke width=2.00]}] [fill={[type=SOLID] [color=#B4B4B4]}] [data="M300.00,170.00 L320.00,170.00 L320.00,210.00 L300.00,210.00 Z"]
- RenderPath {line} at (422.35,39) size 1.30x182 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M310.00,30.00 L310.00,170.00"]
- RenderPath {path} at (419.10,208) size 7.80x13 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M310.00,170.00 L307.00,160.00 L313.00,160.00 Z"]
+ RenderPath {line} at (422.35,39) size 1.30x182.00 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M310.00,30.00 L310.00,170.00"]
+ RenderPath {path} at (419.10,208) size 7.80x13.00 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M310.00,170.00 L307.00,160.00 L313.00,160.00 Z"]
RenderPath {rect} at (319,9.75) size 52x9.75 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M230.00,7.50 L270.00,7.50 L270.00,15.00 L230.00,15.00 Z"]
RenderPath {rect} at (319,221.00) size 52x39 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M230.00,170.00 L270.00,170.00 L270.00,200.00 L230.00,200.00 Z"]
- RenderPath {line} at (344.35,13) size 1.30x208 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00 L250.00,170.00"]
- RenderPath {path} at (341.10,208) size 7.80x13 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M250.00,170.00 L247.00,160.00 L253.00,160.00 Z"]
+ RenderPath {line} at (344.35,13) size 1.30x208.00 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00 L250.00,170.00"]
+ RenderPath {path} at (341.10,208) size 7.80x13.00 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M250.00,170.00 L247.00,160.00 L253.00,160.00 Z"]
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderPath {line} at (8.66,9.33) size 22.68x41.34 [stroke={[type=SOLID] [color=#105D8C] [stroke width=3.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M30.00,50.00 L10.00,10.00"]
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -54,8 +54,8 @@
RenderSVGContainer {use} at (408.70,11.70) size 28.60x28.60
RenderSVGContainer {g} at (408.70,11.70) size 28.60x28.60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-10.00)}]
RenderPath {polygon} at (408.70,11.70) size 28.60x28.60 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M240.00,20.00 L240.00,40.00 L260.00,40.00 L260.00,20.00 Z"]
- RenderSVGContainer {use} at (319,1.62) size 52x26 [transform={m=((1.00,0.00)(0.00,0.25)) t=(0.00,0.00)}]
- RenderSVGContainer {g} at (319,1.62) size 52x26
+ RenderSVGContainer {use} at (319,1.62) size 52x26.00 [transform={m=((1.00,0.00)(0.00,0.25)) t=(0.00,0.00)}]
+ RenderSVGContainer {g} at (319,1.62) size 52x26.00
RenderImage {image} at (0,0) size 40x80
RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-36) size 264x46
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt
index 71a7ef5..9ef7d6a 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt
@@ -16,9 +16,9 @@
RenderSVGContainer {g} at (29.50,59.50) size 61x94.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
RenderSVGContainer {g} at (29.50,59.50) size 61x61
RenderPath {path} at (59.50,59.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (59.50,89.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (29.50,89.50) size 31x31 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (29.50,59.50) size 31x31 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (59.50,89.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (29.50,89.50) size 31x31 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (29.50,59.50) size 31x31 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (44.50,74.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-13,60) size 26x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 26x18
@@ -29,33 +29,33 @@
RenderSVGContainer {g} at (147.80,67.80) size 24.40x24.40
RenderSVGContainer {g} at (147.80,67.80) size 24.40x24.40
RenderPath {path} at (159.80,67.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (159.80,79.80) size 12.40x12.40 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (147.80,79.80) size 12.40x12.40 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (147.80,67.80) size 12.40x12.40 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (159.80,79.80) size 12.40x12.40 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (147.80,79.80) size 12.40x12.40 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (147.80,67.80) size 12.40x12.40 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (153.80,73.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGContainer {use} at (147.80,97.80) size 24.40x24.40 [transform={m=((0.40,0.00)(0.00,0.40)) t=(-20.00,0.00)}]
RenderSVGContainer {g} at (147.80,97.80) size 24.40x24.40
RenderSVGContainer {g} at (147.80,97.80) size 24.40x24.40
RenderPath {path} at (159.80,97.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (159.80,109.80) size 12.40x12.40 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (147.80,109.80) size 12.40x12.40 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (147.80,97.80) size 12.40x12.40 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (159.80,109.80) size 12.40x12.40 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (147.80,109.80) size 12.40x12.40 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (147.80,97.80) size 12.40x12.40 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (153.80,103.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGContainer {use} at (187.80,67.80) size 24.40x24.40 [transform={m=((0.40,0.00)(0.00,0.40)) t=(20.00,-30.00)}]
RenderSVGContainer {g} at (187.80,67.80) size 24.40x24.40
RenderSVGContainer {g} at (187.80,67.80) size 24.40x24.40
RenderPath {path} at (199.80,67.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (199.80,79.80) size 12.40x12.40 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (187.80,79.80) size 12.40x12.40 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (187.80,67.80) size 12.40x12.40 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (199.80,79.80) size 12.40x12.40 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (187.80,79.80) size 12.40x12.40 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (187.80,67.80) size 12.40x12.40 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (193.80,73.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGContainer {use} at (187.80,97.80) size 24.40x24.40 [transform={m=((0.40,0.00)(0.00,0.40)) t=(20.00,0.00)}]
RenderSVGContainer {g} at (187.80,97.80) size 24.40x24.40
RenderSVGContainer {g} at (187.80,97.80) size 24.40x24.40
RenderPath {path} at (199.80,97.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (199.80,109.80) size 12.40x12.40 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (187.80,109.80) size 12.40x12.40 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (187.80,97.80) size 12.40x12.40 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (199.80,109.80) size 12.40x12.40 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (187.80,109.80) size 12.40x12.40 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (187.80,97.80) size 12.40x12.40 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (193.80,103.80) size 12.40x12.40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-20,40) size 40x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 40x18
@@ -69,9 +69,9 @@
RenderSVGContainer {switch} at (389.50,59.50) size 61x61
RenderSVGContainer {g} at (389.50,59.50) size 61x61
RenderPath {path} at (419.50,59.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (419.50,89.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (389.50,89.50) size 31x31 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (389.50,59.50) size 31x31 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (419.50,89.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (389.50,89.50) size 31x31 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (389.50,59.50) size 31x31 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (404.50,74.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-30,60) size 60x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 60x18
@@ -80,9 +80,9 @@
RenderSVGContainer {a} at (29.50,189.50) size 61x61
RenderSVGContainer {g} at (29.50,189.50) size 61x61
RenderPath {path} at (59.50,189.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (59.50,219.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (29.50,219.50) size 31x31 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
- RenderPath {path} at (29.50,189.50) size 31x31 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (59.50,219.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (29.50,219.50) size 31x31 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
+ RenderPath {path} at (29.50,189.50) size 31x31 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M0.00,0.00 C30.00,0.00,30.00,0.00,30.00,-30.00 C0.00,-30.00,0.00,-30.00,0.00,0.00 Z"]
RenderPath {rect} at (44.50,204.50) size 31x31 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-13,60) size 26x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 26x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt
index 701bbe8..ff61cf0 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt
@@ -23,9 +23,9 @@
RenderPath {line} at (15,89.50) size 90x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M-45.00,0.00 L45.00,0.00"]
RenderPath {line} at (59.50,45) size 1x90 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M0.00,-45.00 L0.00,45.00"]
RenderPath {line} at (60,90) size 0x0 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (60,90) size 0x0 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (60,90) size 0x0 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (60,90) size 0x0 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (60,90) size 0x0 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (60,90) size 0x0 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (60,90) size 0x0 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
RenderPath {line} at (55,85) size 50x10 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L40.00,0.00"]
RenderSVGText {text} at (-36,60) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
@@ -67,9 +67,9 @@
RenderPath {line} at (15,219.50) size 90x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M-45.00,0.00 L45.00,0.00"]
RenderPath {line} at (59.50,175) size 1x90 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M0.00,-45.00 L0.00,45.00"]
RenderPath {line} at (20,180) size 0x0 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (100,180) size 0x0 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(80.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (100,260) size 0x0 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(80.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
- RenderPath {line} at (20,260) size 0x0 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(-0.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (100,180) size 0x0 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(80.00,-0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (100,260) size 0x0 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(80.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
+ RenderPath {line} at (20,260) size 0x0 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data=""]
RenderPath {line} at (55,215) size 50x10 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,40.00 L80.00,40.00"]
RenderSVGText {text} at (4,100) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt
index d68bb95..5547810 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt
@@ -23,7 +23,7 @@
chunk 1 (middle anchor) text run 1 at (-52.00,60.00) startOffset 0 endOffset 16 width 104.00: "additive=replace"
RenderSVGContainer {g} at (126.37,56) size 107.26x98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
RenderPath {rect} at (153.19,73) size 53.63x34 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (126.37,56) size 107.26x68 [transform={m=((1.15,2.00)(-2.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (126.37,56) size 107.26x68 [transform={m=((1.15,2.00)(-2.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-43,60) size 86x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 86x18
chunk 1 (middle anchor) text run 1 at (-42.50,60.00) startOffset 0 endOffset 12 width 85.00: "additive=sum"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt
index 9f6c179..f7fcf8f 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt
@@ -19,7 +19,7 @@
RenderPath {rect} at (35.96,65.96) size 48.08x48.08 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (35.96,65.96) size 48.08x48.08 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (39.75,69.75) size 40.50x40.50 [transform={m=((0.38,0.92)(-0.92,0.38)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (44.50,74.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (44.50,74.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-42,60) size 84x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 84x18
chunk 1 (middle anchor) text run 1 at (-42.00,60.00) startOffset 0 endOffset 13 width 84.00: "same rotation"
@@ -30,7 +30,7 @@
RenderPath {rect} at (155.96,65.96) size 48.08x48.08 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (155.96,65.96) size 48.08x48.08 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (148.19,72.05) size 40.50x40.50 [transform={m=((0.38,0.92)(-0.92,0.38)) t=(-11.56,2.30)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (134.50,74.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(-30.00,-0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (134.50,74.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(-30.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-53,60) size 106x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 106x18
chunk 1 (middle anchor) text run 1 at (-52.50,60.00) startOffset 0 endOffset 18 width 105.00: "different rotation"
@@ -72,8 +72,8 @@
RenderSVGContainer {g} at (255,203) size 120.50x132.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
RenderPath {rect} at (283,203) size 34x34 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (283,203) size 34x34 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (289.50,209.50) size 31x31 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(5.00,5.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (344.50,304.50) size 31x31 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (289.50,209.50) size 31x31 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(5.00,5.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (344.50,304.50) size 31x31 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-45,75) size 90x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 90x18
chunk 1 (middle anchor) text run 1 at (-44.50,75.00) startOffset 0 endOffset 14 width 89.00: "paced rotation"
@@ -81,7 +81,7 @@
RenderPath {rect} at (403,203) size 34x34 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (403,203) size 34x34 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderPath {rect} at (379.54,202.83) size 43.84x43.84 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(-18.54,4.75)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
- RenderPath {rect} at (464.50,304.50) size 31x31 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
+ RenderPath {rect} at (464.50,304.50) size 31x31 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,-15.00 L15.00,-15.00 L15.00,15.00 L-15.00,15.00 Z"]
RenderSVGText {text} at (-44,75) size 88x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 88x18
chunk 1 (middle anchor) text run 1 at (-43.50,75.00) startOffset 0 endOffset 15 width 87.00: "linear rotation"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
index cad3124..6bc57a4 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt
@@ -82,7 +82,7 @@
RenderSVGContainer {g} at (50,90) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
RenderPath {rect} at (50,90) size 20x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,2.00 L0.00,2.00 Z"]
RenderPath {rect} at (50,90) size 2x20 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L2.00,0.00 L2.00,20.00 L0.00,20.00 Z"]
- RenderSVGContainer {g} at (150,90) size 20x20 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(150.00,70.00)}]
+ RenderSVGContainer {g} at (150,90) size 20x20 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(150.00,70.00)}]
RenderPath {rect} at (150,90) size 2x20 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,2.00 L0.00,2.00 Z"]
RenderPath {rect} at (150,108) size 20x2 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L2.00,0.00 L2.00,20.00 L0.00,20.00 Z"]
RenderSVGContainer {g} at (250,90) size 40x20 [transform={m=((1.00,0.00)(1.00,1.00)) t=(250.00,50.00)}]
@@ -127,8 +127,8 @@
RenderPath {rect} at (208,198) size 5x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M208.00,158.00 L213.00,158.00 L213.00,163.00 L208.00,163.00 Z"]
RenderSVGContainer {g} at (40,216) size 402x67
RenderSVGContainer {g} at (50,240) size 260x40
- RenderSVGContainer {g} at (50,240) size 60x40 [transform={m=((3.00,0.00)(0.00,2.00)) t=(50.00,210.00)}]
- RenderPath {rect} at (50,240) size 60x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,1.00 L0.00,1.00 Z"]
+ RenderSVGContainer {g} at (50,240) size 60.00x40 [transform={m=((3.00,0.00)(0.00,2.00)) t=(50.00,210.00)}]
+ RenderPath {rect} at (50,240) size 60.00x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,1.00 L0.00,1.00 Z"]
RenderPath {rect} at (50,240) size 2.01x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L0.67,0.00 L0.67,20.00 L0.00,20.00 Z"]
RenderSVGContainer {g} at (250,240) size 60x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
RenderSVGContainer {g} at (250,240) size 60x40 [transform={m=((3.00,0.00)(0.00,2.00)) t=(0.00,0.00)}]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
index 24daaee..70a5de4 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
@@ -8,7 +8,7 @@
RenderSVGContainer {g} at (95,165) size 50x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
RenderPath {rect} at (95,165) size 50x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,2.00 L0.00,2.00 Z"]
RenderPath {rect} at (95,165) size 5x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L2.00,0.00 L2.00,20.00 L0.00,20.00 Z"]
- RenderSVGContainer {g} at (345,165) size 50x50 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(150.00,70.00)}]
+ RenderSVGContainer {g} at (345,165) size 50x50 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(150.00,70.00)}]
RenderPath {rect} at (345,165) size 5x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,2.00 L0.00,2.00 Z"]
RenderPath {rect} at (345,210) size 50x5 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L2.00,0.00 L2.00,20.00 L0.00,20.00 Z"]
RenderSVGContainer {g} at (70,105) size 415x117.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-30.00,0.00)}]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
index 062e58e..c319185 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
@@ -9,7 +9,7 @@
RenderSVGContainer {g} at (23,105) size 150x100 [transform={m=((7.50,0.00)(0.00,5.00)) t=(0.00,0.00)}]
RenderSVGContainer {g} at (23,105) size 150x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(16.67,105.00)}]
RenderPath {rect} at (23,105) size 150x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L20.00,0.00 L20.00,1.00 L0.00,1.00 Z"]
- RenderPath {rect} at (23,105) size 5.03x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L0.67,0.00 L0.67,20.00 L0.00,20.00 Z"]
+ RenderPath {rect} at (23,105) size 5.02x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L0.67,0.00 L0.67,20.00 L0.00,20.00 Z"]
RenderSVGContainer {g} at (0,45) size 505x167.50 [transform={m=((2.50,0.00)(0.00,2.50)) t=(-600.00,-450.00)}]
RenderSVGText {text} at (240,200) size 202x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 202x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
index d84eb3c..481baa7 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
@@ -181,8 +181,8 @@
RenderPath {rect} at (300,228.33) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (308.33,245) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (308.33,245) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
- RenderPath {circle} at (317.50,254.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
- RenderPath {circle} at (325.83,254.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
+ RenderPath {circle} at (317.50,254.17) size 5x5.00 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
+ RenderPath {circle} at (325.83,254.17) size 5x5.00 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (315.63,267.03) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-36) size 264x46
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
index 8212db6..19a3730 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
@@ -11,7 +11,7 @@
RenderSVGText {text} at (30,130) size 105x22 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-17) size 105x22
chunk 1 text run 1 at (30.00,130.00) startOffset 0 endOffset 13 width 105.00: "Placed Glyphs"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderPath {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L210.00,0.00"]
RenderSVGContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {line} at (164.27,81.41) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-3500.00 L0.00,2000.00"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
index 60b9ae6..aa99dae 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
@@ -11,7 +11,7 @@
RenderSVGText {text} at (7,130) size 130x22 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-17) size 130x22
chunk 1 text run 1 at (7.00,130.00) startOffset 0 endOffset 15 width 130.00: "SVG over Glyphs"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderSVGContainer {g} at (168.84,85.62) size 203.44x71.34 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {path} at (168.84,96.70) size 35.77x44.18 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M1250.00,-30.00 C1188.67,-30.00,1135.33,48.67,1090.00,206.00 C1072.67,266.00,1051.00,371.00,1025.00,521.00 C957.00,511.67,868.00,495.00,758.00,471.00 L492.00,416.00 C458.67,328.67,401.67,201.00,321.00,33.00 C299.67,-4.33,270.67,-23.00,234.00,-23.00 C207.33,-23.00,183.67,-13.33,163.00,6.00 C142.33,25.33,131.67,49.33,131.00,78.00 C131.00,110.00,181.33,231.67,282.00,443.00 C270.67,460.33,265.00,480.33,265.00,503.00 C265.00,557.00,297.67,591.67,363.00,607.00 C439.00,749.67,535.00,913.67,651.00,1099.00 C809.00,1351.67,907.33,1478.00,946.00,1478.00 C998.67,1478.00,1034.67,1441.33,1054.00,1368.00 L1117.00,1032.00 L1266.00,337.00 L1323.00,179.00 C1342.33,125.00,1352.00,89.00,1352.00,71.00 C1352.00,42.33,1341.67,18.33,1321.00,-1.00 C1300.33,-20.33,1276.67,-30.00,1250.00,-30.00 Z M897.00,1113.00 L611.00,652.00 C691.67,672.67,814.00,697.67,978.00,727.00 L897.00,1113.00 Z"]
RenderPath {path} at (208.77,109.53) size 30.12x47.43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(1498.00,0.00)}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M1011.00,892.00 L665.00,144.00 C579.67,-38.00,514.33,-190.33,469.00,-313.00 L403.00,-507.00 C385.67,-555.00,355.67,-579.00,313.00,-579.00 C285.00,-579.00,261.00,-570.00,241.00,-552.00 C221.00,-534.00,210.67,-511.00,210.00,-483.00 C210.00,-416.33,282.00,-223.33,426.00,96.00 L68.00,785.00 L23.00,858.00 C5.00,888.67,-4.00,914.33,-4.00,935.00 C-4.00,962.33,6.33,986.33,27.00,1007.00 C47.67,1027.67,71.33,1038.00,98.00,1038.00 C128.67,1038.00,152.33,1026.33,169.00,1003.00 C282.33,845.67,404.00,621.67,534.00,331.00 L682.00,676.00 C735.33,795.33,786.67,898.00,836.00,984.00 C857.33,1021.33,885.33,1040.00,920.00,1040.00 C947.33,1040.00,971.33,1030.33,992.00,1011.00 C1012.67,991.67,1023.33,968.67,1024.00,942.00 C1024.00,927.33,1019.67,910.67,1011.00,892.00 Z"]
@@ -29,7 +29,7 @@
RenderSVGText {text} at (0,0) size 210x83 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-66) size 210x83
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: "Ay\x{D6}@\x{E7}"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderSVGContainer {g} at (168.84,155.62) size 203.44x71.34 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {path} at (168.84,166.70) size 35.77x44.18 [fill={[type=SOLID] [color=#000000]}] [data="M1250.00,-30.00 C1188.67,-30.00,1135.33,48.67,1090.00,206.00 C1072.67,266.00,1051.00,371.00,1025.00,521.00 C957.00,511.67,868.00,495.00,758.00,471.00 L492.00,416.00 C458.67,328.67,401.67,201.00,321.00,33.00 C299.67,-4.33,270.67,-23.00,234.00,-23.00 C207.33,-23.00,183.67,-13.33,163.00,6.00 C142.33,25.33,131.67,49.33,131.00,78.00 C131.00,110.00,181.33,231.67,282.00,443.00 C270.67,460.33,265.00,480.33,265.00,503.00 C265.00,557.00,297.67,591.67,363.00,607.00 C439.00,749.67,535.00,913.67,651.00,1099.00 C809.00,1351.67,907.33,1478.00,946.00,1478.00 C998.67,1478.00,1034.67,1441.33,1054.00,1368.00 L1117.00,1032.00 L1266.00,337.00 L1323.00,179.00 C1342.33,125.00,1352.00,89.00,1352.00,71.00 C1352.00,42.33,1341.67,18.33,1321.00,-1.00 C1300.33,-20.33,1276.67,-30.00,1250.00,-30.00 Z M897.00,1113.00 L611.00,652.00 C691.67,672.67,814.00,697.67,978.00,727.00 L897.00,1113.00 Z"]
RenderPath {path} at (208.77,179.53) size 30.12x47.43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(1498.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M1011.00,892.00 L665.00,144.00 C579.67,-38.00,514.33,-190.33,469.00,-313.00 L403.00,-507.00 C385.67,-555.00,355.67,-579.00,313.00,-579.00 C285.00,-579.00,261.00,-570.00,241.00,-552.00 C221.00,-534.00,210.67,-511.00,210.00,-483.00 C210.00,-416.33,282.00,-223.33,426.00,96.00 L68.00,785.00 L23.00,858.00 C5.00,888.67,-4.00,914.33,-4.00,935.00 C-4.00,962.33,6.33,986.33,27.00,1007.00 C47.67,1027.67,71.33,1038.00,98.00,1038.00 C128.67,1038.00,152.33,1026.33,169.00,1003.00 C282.33,845.67,404.00,621.67,534.00,331.00 L682.00,676.00 C735.33,795.33,786.67,898.00,836.00,984.00 C857.33,1021.33,885.33,1040.00,920.00,1040.00 C947.33,1040.00,971.33,1030.33,992.00,1011.00 C1012.67,991.67,1023.33,968.67,1024.00,942.00 C1024.00,927.33,1019.67,910.67,1011.00,892.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
index 31abfa9..75c6de9 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
@@ -11,7 +11,7 @@
RenderSVGText {text} at (31,130) size 105x22 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-17) size 105x22
chunk 1 text run 1 at (31.00,130.00) startOffset 0 endOffset 13 width 105.00: "Placed Glyphs"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderPath {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L210.00,0.00"]
RenderSVGContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {line} at (164.27,81.41) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-3500.00 L0.00,2000.00"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
index 6b239d3..12caee4 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
@@ -11,7 +11,7 @@
RenderSVGText {text} at (31,130) size 105x22 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-17) size 105x22
chunk 1 text run 1 at (31.00,130.00) startOffset 0 endOffset 13 width 105.00: "Placed Glyphs"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderPath {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L210.00,0.00"]
RenderSVGContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {line} at (164.27,81.41) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-3500.00 L0.00,2000.00"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt
index cf1caab..4b3363e 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt
@@ -12,7 +12,7 @@
RenderSVGText {text} at (30,130) size 105x22 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-17) size 105x22
chunk 1 text run 1 at (30.00,130.00) startOffset 0 endOffset 13 width 105.00: "Placed Glyphs"
- RenderSVGContainer {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)}]
+ RenderSVGContainer {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)}]
RenderPath {line} at (165,139.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L210.00,0.00"]
RenderSVGContainer {g} at (164.27,81.41) size 211.17x161.13 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
RenderPath {line} at (164.27,81.41) size 1.46x161.13 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-3500.00 L0.00,2000.00"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
index 5e5382a..05d9b91 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
@@ -52,7 +52,7 @@
RenderPath {path} at (242,222) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
RenderSVGContainer {g} at (288.69,218.69) size 22.63x22.63 [transform={m=((1.13,1.13)(-1.13,1.13)) t=(180.00,218.69)}]
RenderPath {path} at (288.69,218.69) size 22.63x22.63 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
- RenderSVGContainer {g} at (292,272) size 16x16 [transform={m=((-0.00,1.60)(-1.60,-0.00)) t=(188.00,272.00)}]
+ RenderSVGContainer {g} at (292,272) size 16x16 [transform={m=((0.00,1.60)(-1.60,0.00)) t=(188.00,272.00)}]
RenderPath {path} at (292,272) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-36) size 264x46
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
index 7275f67..e923ea6 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
@@ -8,7 +8,7 @@
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (-0.80,-0.80) size 480.30x360.30
- RenderSVGContainer {g} at (-0.80,-0.80) size 452.00x272.80
+ RenderSVGContainer {g} at (-0.80,-0.80) size 452x272.80
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGText {text} at (125,30) size 184x16 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-13) size 184x16
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
index 26a1bd0..864870f 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
@@ -20,7 +20,7 @@
RenderPath {rect} at (108,95.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M60.00,203.00 L64.00,203.00 L64.00,207.00 L60.00,207.00 Z"]
RenderPath {rect} at (178.15,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M98.97,270.50 L102.97,270.50 L102.97,274.50 L98.97,274.50 Z"]
RenderPath {rect} at (37.85,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M21.03,270.50 L25.03,270.50 L25.03,274.50 L21.03,274.50 Z"]
- RenderPath {path} at (225.07,72.00) size 187.06x162 [fill={[type=SOLID] [color=#00C000] [fill rule=EVEN-ODD]}] [data="M177.00,190.00 L228.96,280.00 L125.04,280.00 L177.00,190.00 Z M177.00,205.00 L215.97,272.50 L138.06,272.50 L177.03,205.00 Z"]
+ RenderPath {path} at (225.07,72) size 187.06x162 [fill={[type=SOLID] [color=#00C000] [fill rule=EVEN-ODD]}] [data="M177.00,190.00 L228.96,280.00 L125.04,280.00 L177.00,190.00 Z M177.00,205.00 L215.97,272.50 L138.06,272.50 L177.03,205.00 Z"]
RenderPath {rect} at (315,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M175.00,188.00 L179.00,188.00 L179.00,192.00 L175.00,192.00 Z"]
RenderPath {rect} at (408.53,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M226.96,278.00 L230.96,278.00 L230.96,282.00 L226.96,282.00 Z"]
RenderPath {rect} at (221.47,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M123.04,278.00 L127.04,278.00 L127.04,282.00 L123.04,282.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
index 7620b9d..e8cd97e 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
@@ -22,7 +22,7 @@
RenderPath {rect} at (230.40,205.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M328.00,114.00 L332.00,114.00 L332.00,118.00 L328.00,118.00 Z"]
RenderPath {rect} at (230.40,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M328.00,144.00 L332.00,144.00 L332.00,148.00 L328.00,148.00 Z"]
RenderPath {rect} at (68.40,259.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M238.00,144.00 L242.00,144.00 L242.00,148.00 L238.00,148.00 Z"]
- RenderPath {path} at (270.00,100.80) size 162x162 [fill={[type=SOLID] [color=#0000FF]}] [data="M350.00,56.00 L380.00,56.00 L380.00,86.00 L410.00,86.00 L410.00,116.00 L440.00,116.00 L440.00,146.00 L350.00,146.00 L350.00,56.00 Z"]
+ RenderPath {path} at (270,100.80) size 162x162 [fill={[type=SOLID] [color=#0000FF]}] [data="M350.00,56.00 L380.00,56.00 L380.00,86.00 L410.00,86.00 L410.00,116.00 L440.00,116.00 L440.00,146.00 L350.00,146.00 L350.00,56.00 Z"]
RenderPath {rect} at (266.40,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M348.00,54.00 L352.00,54.00 L352.00,58.00 L348.00,58.00 Z"]
RenderPath {rect} at (320.40,97.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M378.00,54.00 L382.00,54.00 L382.00,58.00 L378.00,58.00 Z"]
RenderPath {rect} at (320.40,151.20) size 7.20x7.20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M378.00,84.00 L382.00,84.00 L382.00,88.00 L378.00,88.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
index 95f8875..55359a0 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
@@ -22,7 +22,7 @@
RenderPath {rect} at (230.40,176.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M328.00,248.00 L332.00,248.00 L332.00,252.00 L328.00,252.00 Z"]
RenderPath {rect} at (230.40,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M328.00,278.00 L332.00,278.00 L332.00,282.00 L328.00,282.00 Z"]
RenderPath {rect} at (68.40,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M238.00,278.00 L242.00,278.00 L242.00,282.00 L238.00,282.00 Z"]
- RenderPath {path} at (270.00,72.00) size 162x162 [fill={[type=SOLID] [color=#FFFF00]}] [data="M350.00,190.00 L380.00,190.00 L380.00,220.00 L410.00,220.00 L410.00,250.00 L440.00,250.00 L440.00,280.00 L350.00,280.00 L350.00,190.00 Z"]
+ RenderPath {path} at (270,72) size 162x162 [fill={[type=SOLID] [color=#FFFF00]}] [data="M350.00,190.00 L380.00,190.00 L380.00,220.00 L410.00,220.00 L410.00,250.00 L440.00,250.00 L440.00,280.00 L350.00,280.00 L350.00,190.00 Z"]
RenderPath {rect} at (266.40,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M348.00,188.00 L352.00,188.00 L352.00,192.00 L348.00,192.00 Z"]
RenderPath {rect} at (320.40,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M378.00,188.00 L382.00,188.00 L382.00,192.00 L378.00,192.00 Z"]
RenderPath {rect} at (320.40,122.40) size 7.20x7.20 [fill={[type=SOLID] [color=#0000FF]}] [data="M378.00,218.00 L382.00,218.00 L382.00,222.00 L378.00,222.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt
index c0b8c11..4c2dad9 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt
@@ -17,7 +17,7 @@
RenderPath {rect} at (108,95.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M60.00,203.00 L64.00,203.00 L64.00,207.00 L60.00,207.00 Z"]
RenderPath {rect} at (178.15,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M98.97,270.50 L102.97,270.50 L102.97,274.50 L98.97,274.50 Z"]
RenderPath {rect} at (37.85,216.90) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M21.03,270.50 L25.03,270.50 L25.03,274.50 L21.03,274.50 Z"]
- RenderPath {path} at (225.07,72.00) size 187.06x162 [fill={[type=SOLID] [color=#00C000] [fill rule=EVEN-ODD]}] [data="M177.00,190.00 L228.96,280.00 L125.04,280.00 L177.00,190.00 Z M177.00,205.00 L215.97,272.50 L138.06,272.50 L177.03,205.00 Z"]
+ RenderPath {path} at (225.07,72) size 187.06x162 [fill={[type=SOLID] [color=#00C000] [fill rule=EVEN-ODD]}] [data="M177.00,190.00 L228.96,280.00 L125.04,280.00 L177.00,190.00 Z M177.00,205.00 L215.97,272.50 L138.06,272.50 L177.03,205.00 Z"]
RenderPath {rect} at (315,68.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M175.00,188.00 L179.00,188.00 L179.00,192.00 L175.00,192.00 Z"]
RenderPath {rect} at (408.53,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M226.96,278.00 L230.96,278.00 L230.96,282.00 L226.96,282.00 Z"]
RenderPath {rect} at (221.47,230.40) size 7.20x7.20 [fill={[type=SOLID] [color=#FF0000]}] [data="M123.04,278.00 L127.04,278.00 L127.04,282.00 L123.04,282.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt
index 3530a63..16cdc54 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt
@@ -7,7 +7,7 @@
RenderPath {path} at (71.15,111.25) size 325.71x29.49 [stroke={[type=SOLID] [color=#FF0000] [stroke width=3.00]}] [data="M20.00,20.00 C40.00,13.33,60.00,13.33,80.00,20.00 C100.00,26.67,120.00,26.67,140.00,20.00 C160.00,13.33,180.00,13.33,200.00,20.00"]
RenderPath {path} at (72,177.30) size 108x5.40 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M20.00,50.00 C20.00,50.00,30.00,50.00,50.00,50.00 C70.00,50.00,80.00,50.00,80.00,50.00"]
RenderPath {rect} at (71.10,179.10) size 9x9 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M20.00,50.00 L24.00,50.00 L24.00,54.00 L20.00,54.00 Z"]
- RenderPath {rect} at (125.10,179.10) size 9x9 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M50.00,50.00 L54.00,50.00 L54.00,54.00 L50.00,54.00 Z"]
+ RenderPath {rect} at (125.10,179.10) size 9.00x9 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M50.00,50.00 L54.00,50.00 L54.00,54.00 L50.00,54.00 Z"]
RenderPath {rect} at (179.10,179.10) size 9x9 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M80.00,50.00 L84.00,50.00 L84.00,54.00 L80.00,54.00 Z"]
RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-36) size 264x46
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
index efa404a..573c744 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
@@ -5,7 +5,7 @@
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
- RenderSVGContainer {g} at (10.00,11) size 430x282
+ RenderSVGContainer {g} at (10,11) size 430x282
RenderSVGText {text} at (10,25) size 194x17 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 194x17
chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 31 width 194.00: "Testing gradientUnits attribute"
@@ -32,7 +32,7 @@
RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
- RenderPath {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=[(0.00,#FF0000), (1.00,#0000FF)]] [bounding box mode=0] [start=(0,0)] [end=(0,430)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,430.00 L0.00,430.00 Z"]
+ RenderPath {rect} at (10,210) size 430x50 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(10.00,260.00)}] [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#0000FF)]] [bounding box mode=0] [start=(0,0)] [end=(0,430)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,430.00 L0.00,430.00 Z"]
RenderSVGText {text} at (10,275) size 177x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 177x14
chunk 1 text run 1 at (10.00,275.00) startOffset 0 endOffset 28 width 177.00: "gradientUnits=userSpaceOnUse"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
index d055465..b7491f5 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
@@ -5,7 +5,7 @@
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
- RenderSVGContainer {g} at (10.00,11) size 460x282
+ RenderSVGContainer {g} at (10,11) size 460x282
RenderSVGText {text} at (10,25) size 194x17 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 194x17
chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 31 width 194.00: "Testing gradientUnits attribute"
@@ -32,7 +32,7 @@
RenderSVGHiddenContainer {radialGradient} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
- RenderPath {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=[(0.00,#FF0000), (1.00,#0000FF)]] [bounding box mode=0] [center=(25,215)] [focal=(25,215)] [radius=25.00]}] [data="M0.00,0.00 L50.00,0.00 L50.00,460.00 L0.00,460.00 Z"]
+ RenderPath {rect} at (10,210) size 460x50 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(10.00,260.00)}] [fill={[type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#0000FF)]] [bounding box mode=0] [center=(25,215)] [focal=(25,215)] [radius=25.00]}] [data="M0.00,0.00 L50.00,0.00 L50.00,460.00 L0.00,460.00 Z"]
RenderSVGText {text} at (10,275) size 177x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 177x14
chunk 1 text run 1 at (10.00,275.00) startOffset 0 endOffset 28 width 177.00: "gradientUnits=userSpaceOnUse"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt
index 84723c8..e81f3ea 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt
@@ -12,7 +12,7 @@
RenderPath {rect} at (49.85,81.85) size 144.30x144.30 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,-60.00 L480.00,-60.00 L480.00,420.00 L0.00,420.00 Z"]
RenderPath {line} at (50,151) size 144x6 [stroke={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)] [stroke width=20.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,180.00 L480.00,180.00"]
RenderPath {line} at (68.97,100.97) size 106.07x106.07 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(197.57,-116.98)}] [stroke={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)] [stroke width=20.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,180.00 L480.00,180.00"]
- RenderPath {line} at (119.00,82) size 6x144 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(420.00,-60.00)}] [stroke={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)] [stroke width=20.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,180.00 L480.00,180.00"]
+ RenderPath {line} at (119,82) size 6x144 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(420.00,-60.00)}] [stroke={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)] [stroke width=20.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,180.00 L480.00,180.00"]
RenderPath {line} at (68.88,100.88) size 106.24x106.24 [stroke={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)] [stroke width=20.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M410.00,10.00 L70.00,350.00"]
RenderSVGText {text} at (84,250) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
@@ -21,7 +21,7 @@
RenderPath {rect} at (279.85,81.85) size 144.30x144.30 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,-60.00 L480.00,-60.00 L480.00,420.00 L0.00,420.00 Z"]
RenderPath {rect} at (280,151) size 144x6 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,170.00 L480.00,170.00 L480.00,190.00 L0.00,190.00 Z"]
RenderPath {rect} at (298.97,100.97) size 106.07x106.07 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(197.57,-116.98)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,170.00 L480.00,170.00 L480.00,190.00 L0.00,190.00 Z"]
- RenderPath {rect} at (349,82) size 6x144 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(420.00,-60.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,170.00 L480.00,170.00 L480.00,190.00 L0.00,190.00 Z"]
+ RenderPath {rect} at (349,82) size 6x144 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(420.00,-60.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,170.00 L480.00,170.00 L480.00,190.00 L0.00,190.00 Z"]
RenderPath {rect} at (298.97,100.97) size 106.07x106.07 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(-56.98,222.43)}] [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFFFFF)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,170.00 L480.00,170.00 L480.00,190.00 L0.00,190.00 Z"]
RenderSVGText {text} at (314,250) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt
index 517c957..bb09bdb 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt
@@ -4,8 +4,8 @@
RenderSVGRoot {svg} at (-2.40,-1.80) size 484.80x363.60
RenderSVGContainer {g} at (0,0) size 480x360
RenderPath {rect} at (0,0) size 240x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M100.00,100.00 L150.00,100.00 L150.00,150.00 L100.00,150.00 Z"]
- RenderPath {rect} at (240,180.00) size 240x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M150.00,150.00 L200.00,150.00 L200.00,200.00 L150.00,200.00 Z"]
- RenderPath {circle} at (0,180.00) size 240x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M150.00,175.00 L149.95,176.57 L149.80,178.13 L149.56,179.68 L149.21,181.22 L148.78,182.73 L148.24,184.20 L147.62,185.64 L146.91,187.04 L146.11,188.40 L145.23,189.69 L144.26,190.94 L143.22,192.11 L142.11,193.22 L140.94,194.26 L139.69,195.23 L138.40,196.11 L137.04,196.91 L135.64,197.62 L134.20,198.24 L132.73,198.78 L131.22,199.21 L129.68,199.56 L128.13,199.80 L126.57,199.95 L125.00,200.00 L123.43,199.95 L121.87,199.80 L120.32,199.56 L118.78,199.21 L117.27,198.78 L115.80,198.24 L114.36,197.62 L112.96,196.91 L111.60,196.11 L110.31,195.23 L109.06,194.26 L107.89,193.22 L106.78,192.11 L105.74,190.94 L104.77,189.69 L103.89,188.40 L103.09,187.04 L102.38,185.64 L101.76,184.20 L101.22,182.73 L100.79,181.22 L100.44,179.68 L100.20,178.13 L100.05,176.57 L100.00,175.00 L100.05,173.43 L100.20,171.87 L100.44,170.32 L100.79,168.78 L101.22,167.27 L101.76,165.80 L102.38,164.36 L103.09,162.96 L103.89,161.60 L104.77,160.31 L105.74,159.06 L106.78,157.89 L107.89,156.78 L109.06,155.74 L110.31,154.77 L111.60,153.89 L112.96,153.09 L114.36,152.38 L115.80,151.76 L117.27,151.22 L118.78,150.79 L120.32,150.44 L121.87,150.20 L123.43,150.05 L125.00,150.00 L126.57,150.05 L128.13,150.20 L129.68,150.44 L131.22,150.79 L132.73,151.22 L134.20,151.76 L135.64,152.38 L137.04,153.09 L138.40,153.89 L139.69,154.77 L140.94,155.74 L142.11,156.78 L143.22,157.89 L144.26,159.06 L145.23,160.31 L146.11,161.60 L146.91,162.96 L147.62,164.36 L148.24,165.80 L148.78,167.27 L149.21,168.78 L149.56,170.32 L149.80,171.87 L149.95,173.43 Z"]
+ RenderPath {rect} at (240,180) size 240x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M150.00,150.00 L200.00,150.00 L200.00,200.00 L150.00,200.00 Z"]
+ RenderPath {circle} at (0,180) size 240x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M150.00,175.00 L149.95,176.57 L149.80,178.13 L149.56,179.68 L149.21,181.22 L148.78,182.73 L148.24,184.20 L147.62,185.64 L146.91,187.04 L146.11,188.40 L145.23,189.69 L144.26,190.94 L143.22,192.11 L142.11,193.22 L140.94,194.26 L139.69,195.23 L138.40,196.11 L137.04,196.91 L135.64,197.62 L134.20,198.24 L132.73,198.78 L131.22,199.21 L129.68,199.56 L128.13,199.80 L126.57,199.95 L125.00,200.00 L123.43,199.95 L121.87,199.80 L120.32,199.56 L118.78,199.21 L117.27,198.78 L115.80,198.24 L114.36,197.62 L112.96,196.91 L111.60,196.11 L110.31,195.23 L109.06,194.26 L107.89,193.22 L106.78,192.11 L105.74,190.94 L104.77,189.69 L103.89,188.40 L103.09,187.04 L102.38,185.64 L101.76,184.20 L101.22,182.73 L100.79,181.22 L100.44,179.68 L100.20,178.13 L100.05,176.57 L100.00,175.00 L100.05,173.43 L100.20,171.87 L100.44,170.32 L100.79,168.78 L101.22,167.27 L101.76,165.80 L102.38,164.36 L103.09,162.96 L103.89,161.60 L104.77,160.31 L105.74,159.06 L106.78,157.89 L107.89,156.78 L109.06,155.74 L110.31,154.77 L111.60,153.89 L112.96,153.09 L114.36,152.38 L115.80,151.76 L117.27,151.22 L118.78,150.79 L120.32,150.44 L121.87,150.20 L123.43,150.05 L125.00,150.00 L126.57,150.05 L128.13,150.20 L129.68,150.44 L131.22,150.79 L132.73,151.22 L134.20,151.76 L135.64,152.38 L137.04,153.09 L138.40,153.89 L139.69,154.77 L140.94,155.74 L142.11,156.78 L143.22,157.89 L144.26,159.06 L145.23,160.31 L146.11,161.60 L146.91,162.96 L147.62,164.36 L148.24,165.80 L148.78,167.27 L149.21,168.78 L149.56,170.32 L149.80,171.87 L149.95,173.43 Z"]
RenderPath {circle} at (240,0) size 240x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M200.00,125.00 L199.95,126.57 L199.80,128.13 L199.56,129.68 L199.21,131.22 L198.78,132.73 L198.24,134.20 L197.62,135.64 L196.91,137.04 L196.11,138.40 L195.23,139.69 L194.26,140.94 L193.22,142.11 L192.11,143.22 L190.94,144.26 L189.69,145.23 L188.40,146.11 L187.04,146.91 L185.64,147.62 L184.20,148.24 L182.73,148.78 L181.22,149.21 L179.68,149.56 L178.13,149.80 L176.57,149.95 L175.00,150.00 L173.43,149.95 L171.87,149.80 L170.32,149.56 L168.78,149.21 L167.27,148.78 L165.80,148.24 L164.36,147.62 L162.96,146.91 L161.60,146.11 L160.31,145.23 L159.06,144.26 L157.89,143.22 L156.78,142.11 L155.74,140.94 L154.77,139.69 L153.89,138.40 L153.09,137.04 L152.38,135.64 L151.76,134.20 L151.22,132.73 L150.79,131.22 L150.44,129.68 L150.20,128.13 L150.05,126.57 L150.00,125.00 L150.05,123.43 L150.20,121.87 L150.44,120.32 L150.79,118.78 L151.22,117.27 L151.76,115.80 L152.38,114.36 L153.09,112.96 L153.89,111.60 L154.77,110.31 L155.74,109.06 L156.78,107.89 L157.89,106.78 L159.06,105.74 L160.31,104.77 L161.60,103.89 L162.96,103.09 L164.36,102.38 L165.80,101.76 L167.27,101.22 L168.78,100.79 L170.32,100.44 L171.87,100.20 L173.43,100.05 L175.00,100.00 L176.57,100.05 L178.13,100.20 L179.68,100.44 L181.22,100.79 L182.73,101.22 L184.20,101.76 L185.64,102.38 L187.04,103.09 L188.40,103.89 L189.69,104.77 L190.94,105.74 L192.11,106.78 L193.22,107.89 L194.26,109.06 L195.23,110.31 L196.11,111.60 L196.91,112.96 L197.62,114.36 L198.24,115.80 L198.78,117.27 L199.21,118.78 L199.56,120.32 L199.80,121.87 L199.95,123.43 Z"]
RenderSVGText {text} at (105,195) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt
index 6122f4e..70be4a3 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt
@@ -2,11 +2,11 @@
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (58.20,-1.80) size 363.60x363.60
- RenderSVGContainer {g} at (60.00,0) size 360x360
- RenderPath {rect} at (60.00,0) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M100.00,100.00 L150.00,100.00 L150.00,150.00 L100.00,150.00 Z"]
- RenderPath {rect} at (240.00,180.00) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M150.00,150.00 L200.00,150.00 L200.00,200.00 L150.00,200.00 Z"]
- RenderPath {circle} at (60.00,180.00) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M150.00,175.00 L149.95,176.57 L149.80,178.13 L149.56,179.68 L149.21,181.22 L148.78,182.73 L148.24,184.20 L147.62,185.64 L146.91,187.04 L146.11,188.40 L145.23,189.69 L144.26,190.94 L143.22,192.11 L142.11,193.22 L140.94,194.26 L139.69,195.23 L138.40,196.11 L137.04,196.91 L135.64,197.62 L134.20,198.24 L132.73,198.78 L131.22,199.21 L129.68,199.56 L128.13,199.80 L126.57,199.95 L125.00,200.00 L123.43,199.95 L121.87,199.80 L120.32,199.56 L118.78,199.21 L117.27,198.78 L115.80,198.24 L114.36,197.62 L112.96,196.91 L111.60,196.11 L110.31,195.23 L109.06,194.26 L107.89,193.22 L106.78,192.11 L105.74,190.94 L104.77,189.69 L103.89,188.40 L103.09,187.04 L102.38,185.64 L101.76,184.20 L101.22,182.73 L100.79,181.22 L100.44,179.68 L100.20,178.13 L100.05,176.57 L100.00,175.00 L100.05,173.43 L100.20,171.87 L100.44,170.32 L100.79,168.78 L101.22,167.27 L101.76,165.80 L102.38,164.36 L103.09,162.96 L103.89,161.60 L104.77,160.31 L105.74,159.06 L106.78,157.89 L107.89,156.78 L109.06,155.74 L110.31,154.77 L111.60,153.89 L112.96,153.09 L114.36,152.38 L115.80,151.76 L117.27,151.22 L118.78,150.79 L120.32,150.44 L121.87,150.20 L123.43,150.05 L125.00,150.00 L126.57,150.05 L128.13,150.20 L129.68,150.44 L131.22,150.79 L132.73,151.22 L134.20,151.76 L135.64,152.38 L137.04,153.09 L138.40,153.89 L139.69,154.77 L140.94,155.74 L142.11,156.78 L143.22,157.89 L144.26,159.06 L145.23,160.31 L146.11,161.60 L146.91,162.96 L147.62,164.36 L148.24,165.80 L148.78,167.27 L149.21,168.78 L149.56,170.32 L149.80,171.87 L149.95,173.43 Z"]
- RenderPath {circle} at (240.00,0) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M200.00,125.00 L199.95,126.57 L199.80,128.13 L199.56,129.68 L199.21,131.22 L198.78,132.73 L198.24,134.20 L197.62,135.64 L196.91,137.04 L196.11,138.40 L195.23,139.69 L194.26,140.94 L193.22,142.11 L192.11,143.22 L190.94,144.26 L189.69,145.23 L188.40,146.11 L187.04,146.91 L185.64,147.62 L184.20,148.24 L182.73,148.78 L181.22,149.21 L179.68,149.56 L178.13,149.80 L176.57,149.95 L175.00,150.00 L173.43,149.95 L171.87,149.80 L170.32,149.56 L168.78,149.21 L167.27,148.78 L165.80,148.24 L164.36,147.62 L162.96,146.91 L161.60,146.11 L160.31,145.23 L159.06,144.26 L157.89,143.22 L156.78,142.11 L155.74,140.94 L154.77,139.69 L153.89,138.40 L153.09,137.04 L152.38,135.64 L151.76,134.20 L151.22,132.73 L150.79,131.22 L150.44,129.68 L150.20,128.13 L150.05,126.57 L150.00,125.00 L150.05,123.43 L150.20,121.87 L150.44,120.32 L150.79,118.78 L151.22,117.27 L151.76,115.80 L152.38,114.36 L153.09,112.96 L153.89,111.60 L154.77,110.31 L155.74,109.06 L156.78,107.89 L157.89,106.78 L159.06,105.74 L160.31,104.77 L161.60,103.89 L162.96,103.09 L164.36,102.38 L165.80,101.76 L167.27,101.22 L168.78,100.79 L170.32,100.44 L171.87,100.20 L173.43,100.05 L175.00,100.00 L176.57,100.05 L178.13,100.20 L179.68,100.44 L181.22,100.79 L182.73,101.22 L184.20,101.76 L185.64,102.38 L187.04,103.09 L188.40,103.89 L189.69,104.77 L190.94,105.74 L192.11,106.78 L193.22,107.89 L194.26,109.06 L195.23,110.31 L196.11,111.60 L196.91,112.96 L197.62,114.36 L198.24,115.80 L198.78,117.27 L199.21,118.78 L199.56,120.32 L199.80,121.87 L199.95,123.43 Z"]
+ RenderSVGContainer {g} at (60,0) size 360x360
+ RenderPath {rect} at (60,0) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M100.00,100.00 L150.00,100.00 L150.00,150.00 L100.00,150.00 Z"]
+ RenderPath {rect} at (240,180) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [data="M150.00,150.00 L200.00,150.00 L200.00,200.00 L150.00,200.00 Z"]
+ RenderPath {circle} at (60,180) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M150.00,175.00 L149.95,176.57 L149.80,178.13 L149.56,179.68 L149.21,181.22 L148.78,182.73 L148.24,184.20 L147.62,185.64 L146.91,187.04 L146.11,188.40 L145.23,189.69 L144.26,190.94 L143.22,192.11 L142.11,193.22 L140.94,194.26 L139.69,195.23 L138.40,196.11 L137.04,196.91 L135.64,197.62 L134.20,198.24 L132.73,198.78 L131.22,199.21 L129.68,199.56 L128.13,199.80 L126.57,199.95 L125.00,200.00 L123.43,199.95 L121.87,199.80 L120.32,199.56 L118.78,199.21 L117.27,198.78 L115.80,198.24 L114.36,197.62 L112.96,196.91 L111.60,196.11 L110.31,195.23 L109.06,194.26 L107.89,193.22 L106.78,192.11 L105.74,190.94 L104.77,189.69 L103.89,188.40 L103.09,187.04 L102.38,185.64 L101.76,184.20 L101.22,182.73 L100.79,181.22 L100.44,179.68 L100.20,178.13 L100.05,176.57 L100.00,175.00 L100.05,173.43 L100.20,171.87 L100.44,170.32 L100.79,168.78 L101.22,167.27 L101.76,165.80 L102.38,164.36 L103.09,162.96 L103.89,161.60 L104.77,160.31 L105.74,159.06 L106.78,157.89 L107.89,156.78 L109.06,155.74 L110.31,154.77 L111.60,153.89 L112.96,153.09 L114.36,152.38 L115.80,151.76 L117.27,151.22 L118.78,150.79 L120.32,150.44 L121.87,150.20 L123.43,150.05 L125.00,150.00 L126.57,150.05 L128.13,150.20 L129.68,150.44 L131.22,150.79 L132.73,151.22 L134.20,151.76 L135.64,152.38 L137.04,153.09 L138.40,153.89 L139.69,154.77 L140.94,155.74 L142.11,156.78 L143.22,157.89 L144.26,159.06 L145.23,160.31 L146.11,161.60 L146.91,162.96 L147.62,164.36 L148.24,165.80 L148.78,167.27 L149.21,168.78 L149.56,170.32 L149.80,171.87 L149.95,173.43 Z"]
+ RenderPath {circle} at (240,0) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [data="M200.00,125.00 L199.95,126.57 L199.80,128.13 L199.56,129.68 L199.21,131.22 L198.78,132.73 L198.24,134.20 L197.62,135.64 L196.91,137.04 L196.11,138.40 L195.23,139.69 L194.26,140.94 L193.22,142.11 L192.11,143.22 L190.94,144.26 L189.69,145.23 L188.40,146.11 L187.04,146.91 L185.64,147.62 L184.20,148.24 L182.73,148.78 L181.22,149.21 L179.68,149.56 L178.13,149.80 L176.57,149.95 L175.00,150.00 L173.43,149.95 L171.87,149.80 L170.32,149.56 L168.78,149.21 L167.27,148.78 L165.80,148.24 L164.36,147.62 L162.96,146.91 L161.60,146.11 L160.31,145.23 L159.06,144.26 L157.89,143.22 L156.78,142.11 L155.74,140.94 L154.77,139.69 L153.89,138.40 L153.09,137.04 L152.38,135.64 L151.76,134.20 L151.22,132.73 L150.79,131.22 L150.44,129.68 L150.20,128.13 L150.05,126.57 L150.00,125.00 L150.05,123.43 L150.20,121.87 L150.44,120.32 L150.79,118.78 L151.22,117.27 L151.76,115.80 L152.38,114.36 L153.09,112.96 L153.89,111.60 L154.77,110.31 L155.74,109.06 L156.78,107.89 L157.89,106.78 L159.06,105.74 L160.31,104.77 L161.60,103.89 L162.96,103.09 L164.36,102.38 L165.80,101.76 L167.27,101.22 L168.78,100.79 L170.32,100.44 L171.87,100.20 L173.43,100.05 L175.00,100.00 L176.57,100.05 L178.13,100.20 L179.68,100.44 L181.22,100.79 L182.73,101.22 L184.20,101.76 L185.64,102.38 L187.04,103.09 L188.40,103.89 L189.69,104.77 L190.94,105.74 L192.11,106.78 L193.22,107.89 L194.26,109.06 L195.23,110.31 L196.11,111.60 L196.91,112.96 L197.62,114.36 L198.24,115.80 L198.78,117.27 L199.21,118.78 L199.56,120.32 L199.80,121.87 L199.95,123.43 Z"]
RenderSVGText {text} at (105,195) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
chunk 1 text run 1 at (105.00,195.00) startOffset 0 endOffset 16 width 68.00: "$Revision: 1.8 $"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt
index 5eb4146..7cafc75 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt
@@ -2,8 +2,8 @@
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
- RenderSVGContainer {g} at (55.50,43.00) size 375x212.50
- RenderSVGContainer {g} at (55.50,44.50) size 375x211 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(70.00,150.00)}]
+ RenderSVGContainer {g} at (55.50,43) size 375x212.50
+ RenderSVGContainer {g} at (55.50,44.50) size 375x211 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(70.00,150.00)}]
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderPath {rect} at (-5.50,-14.50) size 111x23 [stroke={[type=SOLID] [color=#000000]}] [data="M-5.00,-14.00 L105.00,-14.00 L105.00,8.00 L-5.00,8.00 Z"]
RenderPath {rect} at (-5.50,-14.50) size 51x23 [stroke={[type=SOLID] [color=#000000]}] [data="M-5.00,-14.00 L45.00,-14.00 L45.00,8.00 L-5.00,8.00 Z"]
@@ -162,7 +162,7 @@
RenderSVGContainer {use} at (407.50,204.50) size 23x51
RenderSVGContainer {g} at (407.50,204.50) size 23x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,352.00)}]
RenderPath {rect} at (407.50,204.50) size 23x51 [stroke={[type=SOLID] [color=#000000]}] [data="M-5.00,-14.00 L45.00,-14.00 L45.00,8.00 L-5.00,8.00 Z"]
- RenderSVGContainer {g} at (56.00,43.00) size 370x107 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(70.00,150.00)}]
+ RenderSVGContainer {g} at (56,43) size 370x107 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(70.00,150.00)}]
RenderSVGText {text} at (0,0) size 32x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 32x18
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 32.00: "color"
diff --git a/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
index a3a89be..3faa073 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
@@ -29,8 +29,8 @@
chunk 1 text run 3 at (85.93,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderPath {line} at (50,129) size 350x2 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M50.00,130.00 L400.00,130.00"]
- RenderSVGText {text} at (58,125) size 351x20 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (-11,-15) size 351x20
+ RenderSVGText {text} at (58,125) size 350x20 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (-10,-15) size 350x20
chunk 1 text run 1 at (58.00,125.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
RenderSVGContainer {g} at (40,146) size 330x55.52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,150.00)}]
RenderSVGContainer {use} at (49.55,158.48) size 320.45x43.05
@@ -48,8 +48,8 @@
chunk 1 text run 3 at (237.33,22.64) startOffset 0 endOffset 5 width 65.00: " Good"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderPath {line} at (50,239) size 150x2 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M50.00,240.00 L200.00,240.00"]
- RenderSVGText {text} at (58,240) size 143x29 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (-9,-23) size 143x29
+ RenderSVGText {text} at (58,240) size 142x27 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (-8,-22) size 142x27
chunk 1 text run 1 at (58.00,240.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
RenderSVGContainer {g} at (224,204) size 176x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,220.00)}]
RenderSVGContainer {use} at (239.29,228.42) size 160.71x43.16
diff --git a/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
index a309128..61bdf57 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
@@ -78,9 +78,9 @@
RenderSVGInlineText {#text} at (0,-13) size 164x17
chunk 1 (middle anchor) text run 1 at (143.50,280.00) startOffset 0 endOffset 25 width 163.00: "Text Rendering Properties"
RenderSVGContainer {g} at (24,297) size 152x42 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,305.00)}]
- RenderSVGContainer {g} at (58.00,297) size 84x36 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}]
- RenderSVGContainer {use} at (58.00,297) size 84x36
- RenderSVGContainer {g} at (58.00,297) size 84x36
+ RenderSVGContainer {g} at (58,297) size 84x36 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}]
+ RenderSVGContainer {use} at (58,297) size 84x36
+ RenderSVGContainer {g} at (58,297) size 84x36
RenderSVGText {text} at (-42,0) size 84x36 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-28) size 84x36
chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
diff --git a/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt b/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
index aa04ca0..1fbcb7c 100644
--- a/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
@@ -26,20 +26,20 @@
RenderPath {line} at (299.50,75) size 1x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M300.00,75.00 L300.00,450.00"]
RenderPath {line} at (349.50,75) size 1x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M350.00,75.00 L350.00,450.00"]
RenderPath {line} at (399.50,75) size 1x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M400.00,75.00 L400.00,450.00"]
- RenderSVGText {text} at (33,79) size 18x165 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (8,0) size 18x165
+ RenderSVGText {text} at (33,79) size 17x165 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (9,0) size 17x165
chunk 1 (vertical) text run 1 at (33.00,79.00) startOffset 0 endOffset 23 height 391.00: "Writing top to bottom\x{753B}\x{50CF}"
- RenderSVGText {text} at (83,79) size 18x174 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (8,0) size 18x174
+ RenderSVGText {text} at (83,79) size 17x174 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (9,0) size 17x174
chunk 1 (vertical) text run 1 at (83.00,79.00) startOffset 0 endOffset 24 height 408.00: "Glyph Orientation:auto\x{753B}\x{50CF}"
RenderSVGText {text} at (142,88) size 16x357 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-13) size 16x357
chunk 1 (vertical) text run 1 at (142.50,88.00) startOffset 0 endOffset 21 height 357.00: "Glyph Orientation:0\x{753B}\x{50CF}"
- RenderSVGText {text} at (183,79) size 18x163 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (8,0) size 18x163
+ RenderSVGText {text} at (183,79) size 17x163 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (9,0) size 17x163
chunk 1 (vertical) text run 1 at (183.00,79.00) startOffset 0 endOffset 22 height 374.00: "Glyph Orientation:90\x{753B}\x{50CF}"
- RenderSVGText {text} at (250,88) size 16x392 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (-8,-14) size 16x392
+ RenderSVGText {text} at (250,88) size 16x391 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (-8,-13) size 16x391
chunk 1 (vertical) text run 1 at (250.00,88.00) startOffset 0 endOffset 23 height 391.00: "Glyph Orientation:180\x{753B}\x{50CF}"
RenderSVGText {text} at (317,79) size 17x171 contains 1 chunk(s)
RenderSVGInlineText {#text} at (-26,0) size 17x171
@@ -52,13 +52,13 @@
chunk 1 (vertical) text run 2 at (333.00,150.00) startOffset 0 endOffset 7 height 119.00: "<tspan>"
RenderSVGInlineText {#text} at (9,120) size 17x53
chunk 1 (vertical) text run 3 at (333.00,199.00) startOffset 0 endOffset 8 height 136.00: " element"
- RenderSVGText {text} at (383,79) size 18x294 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (8,0) size 18x71
+ RenderSVGText {text} at (383,79) size 17x294 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (9,0) size 17x71
chunk 1 (vertical) text run 1 at (383.00,79.00) startOffset 0 endOffset 9 height 153.00: "Embedded "
RenderSVGTSpan {tspan} at (0,0) size 8x170
RenderSVGInlineText {#text} at (13,67) size 8x170
chunk 1 (vertical) text run 2 at (396.00,159.00) startOffset 0 endOffset 10 height 170.00: "orientated"
- RenderSVGInlineText {#text} at (8,241) size 18x53
+ RenderSVGInlineText {#text} at (9,241) size 17x53
chunk 1 (vertical) text run 3 at (383.00,320.00) startOffset 0 endOffset 8 height 136.00: " element"
RenderSVGContainer {g} at (51,455) size 319.11x36 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,450.00)}]
RenderSVGContainer {use} at (54.89,457.29) size 315.21x30.43
diff --git a/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt b/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
index 5f533ee..00ee85b 100644
--- a/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
@@ -275,7 +275,7 @@
RenderSVGContainer {g} at (202.27,370.50) size 67.95x37
RenderPath {path} at (202.27,370.50) size 67.95x37 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
RenderSVGText {text} at (-13,-15) size 92x121 contains 1 chunk(s)
- RenderSVGInlineText {#text} at (12,0) size 24x98
+ RenderSVGInlineText {#text} at (12,0) size 24x97
chunk 1 (vertical) text run 1 at (-13.00,-15.00) startOffset 0 endOffset 12 height 276.00: "before path "
RenderSVGTextPath {textPath} at (0,0) size 66x39
RenderSVGInlineText {#text} at (36,14) size 66x39
diff --git a/LayoutTests/platform/mac/svg/carto.net/slider-expected.txt b/LayoutTests/platform/mac/svg/carto.net/slider-expected.txt
index 75ce852..8979f3e 100644
--- a/LayoutTests/platform/mac/svg/carto.net/slider-expected.txt
+++ b/LayoutTests/platform/mac/svg/carto.net/slider-expected.txt
@@ -10,7 +10,7 @@
RenderSVGContainer {g} at (546.88,44.92) size 15.62x89.84
RenderPath {line} at (548.83,44.92) size 11.72x89.84 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [data="M710.00,65.00 L710.00,165.00"]
RenderPath {line} at (553.52,50.78) size 2.34x78.12 [stroke={[type=SOLID] [color=#696969] [stroke width=3.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M710.00,65.00 L710.00,165.00"]
- RenderSVGContainer {use} at (546.88,87.89) size 15.62x3.91 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(710.00,115.00)}]
+ RenderSVGContainer {use} at (546.88,87.89) size 15.62x3.91 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(710.00,115.00)}]
RenderSVGContainer {g} at (546.88,87.89) size 15.62x3.91
RenderSVGViewportContainer {svg} at (546.88,87.89) size 15.62x3.91
RenderPath {line} at (546.88,87.89) size 15.62x3.91 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,-10.00 L0.00,10.00"]
diff --git a/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt b/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt
index f9ac5e0..9e348cb 100644
--- a/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt
+++ b/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt
@@ -2,7 +2,7 @@
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 0x0
- RenderSVGContainer {g} at (195.31,7.81) size 0x0 [transform={m=((-0.00,1.00)(-1.00,-0.00)) t=(250.00,10.00)}]
+ RenderSVGContainer {g} at (195.31,7.81) size 0x0 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(250.00,10.00)}]
RenderSVGContainer {g} at (0,0) size 0x0
RenderSVGContainer {g} at (0,0) size 0x0
RenderSVGContainer {g} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt b/LayoutTests/platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt
index 9fec516..19c587f 100644
--- a/LayoutTests/platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt
@@ -19,7 +19,7 @@
RenderSVGText {text} at (50,330) size 25x50 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-40) size 25x50
chunk 1 text run 1 at (50.00,330.00) startOffset 0 endOffset 1 width 25.00: "a"
- RenderSVGContainer {g} at (250.00,16.67) size 41.67x550 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+ RenderSVGContainer {g} at (250,16.67) size 41.67x550 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
RenderSVGText {text} at (50,50) size 25x50 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-40) size 25x50
chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 25.00: "a"
diff --git a/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt b/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
index 8b20186..d1b723d 100644
--- a/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
@@ -16,7 +16,7 @@
RenderSVGText {text} at (0,33) size 167x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 167x18
chunk 1 text run 1 at (0.00,33.00) startOffset 0 endOffset 25 width 167.00: "no markers and no dashes."
- RenderPath {path} at (49.17,65.83) size 85x85 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [data="M30.00,40.00 L80.00,40.00 L80.00,90.00 L30.00,90.00 Z"]
+ RenderPath {path} at (49.17,65.83) size 85x85.00 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [data="M30.00,40.00 L80.00,40.00 L80.00,90.00 L30.00,90.00 Z"]
RenderPath {circle} at (265.83,65.83) size 68.33x68.33 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#008000)]] [start=(0,0)] [end=(1,0)]}] [data="M200.00,60.00 L199.96,61.26 L199.84,62.51 L199.65,63.75 L199.37,64.97 L199.02,66.18 L198.60,67.36 L198.10,68.52 L197.53,69.64 L196.89,70.72 L196.18,71.76 L195.41,72.75 L194.58,73.69 L193.69,74.58 L192.75,75.41 L191.76,76.18 L190.72,76.89 L189.64,77.53 L188.52,78.10 L187.36,78.60 L186.18,79.02 L184.97,79.37 L183.75,79.65 L182.51,79.84 L181.26,79.96 L180.00,80.00 L178.74,79.96 L177.49,79.84 L176.25,79.65 L175.03,79.37 L173.82,79.02 L172.64,78.60 L171.48,78.10 L170.36,77.53 L169.28,76.89 L168.24,76.18 L167.25,75.41 L166.31,74.58 L165.42,73.69 L164.59,72.75 L163.82,71.76 L163.11,70.72 L162.47,69.64 L161.90,68.52 L161.40,67.36 L160.98,66.18 L160.63,64.97 L160.35,63.75 L160.16,62.51 L160.04,61.26 L160.00,60.00 L160.04,58.74 L160.16,57.49 L160.35,56.25 L160.63,55.03 L160.98,53.82 L161.40,52.64 L161.90,51.48 L162.47,50.36 L163.11,49.28 L163.82,48.24 L164.59,47.25 L165.42,46.31 L166.31,45.42 L167.25,44.59 L168.24,43.82 L169.28,43.11 L170.36,42.47 L171.48,41.90 L172.64,41.40 L173.82,40.98 L175.03,40.63 L176.25,40.35 L177.49,40.16 L178.74,40.04 L180.00,40.00 L181.26,40.04 L182.51,40.16 L183.75,40.35 L184.97,40.63 L186.18,40.98 L187.36,41.40 L188.52,41.90 L189.64,42.47 L190.72,43.11 L191.76,43.82 L192.75,44.59 L193.69,45.42 L194.58,46.31 L195.41,47.25 L196.18,48.24 L196.89,49.28 L197.53,50.36 L198.10,51.48 L198.60,52.64 L199.02,53.82 L199.37,55.03 L199.65,56.25 L199.84,57.49 L199.96,58.74 Z"]
RenderSVGText {text} at (0,110) size 278x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 278x18
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt
index 3d8509d..bb83985 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt
@@ -4,7 +4,7 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
- RenderSVGRoot {svg} at (216.67,218.33) size 90x90
+ RenderSVGRoot {svg} at (216.67,218.33) size 90.00x90
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGViewportContainer {marker} at (0,0) size 2x2
RenderPath {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L10.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
@@ -12,5 +12,5 @@
RenderPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
RenderSVGViewportContainer {marker} at (0,0) size 2x2
RenderPath {circle} at (0,0) size 2x2 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,5.00 L9.99,5.31 L9.96,5.63 L9.91,5.94 L9.84,6.24 L9.76,6.55 L9.65,6.84 L9.52,7.13 L9.38,7.41 L9.22,7.68 L9.05,7.94 L8.85,8.19 L8.64,8.42 L8.42,8.64 L8.19,8.85 L7.94,9.05 L7.68,9.22 L7.41,9.38 L7.13,9.52 L6.84,9.65 L6.55,9.76 L6.24,9.84 L5.94,9.91 L5.63,9.96 L5.31,9.99 L5.00,10.00 L4.69,9.99 L4.37,9.96 L4.06,9.91 L3.76,9.84 L3.45,9.76 L3.16,9.65 L2.87,9.52 L2.59,9.38 L2.32,9.22 L2.06,9.05 L1.81,8.85 L1.58,8.64 L1.36,8.42 L1.15,8.19 L0.95,7.94 L0.78,7.68 L0.62,7.41 L0.48,7.13 L0.35,6.84 L0.24,6.55 L0.16,6.24 L0.09,5.94 L0.04,5.63 L0.01,5.31 L0.00,5.00 L0.01,4.69 L0.04,4.37 L0.09,4.06 L0.16,3.76 L0.24,3.45 L0.35,3.16 L0.48,2.87 L0.62,2.59 L0.78,2.32 L0.95,2.06 L1.15,1.81 L1.36,1.58 L1.58,1.36 L1.81,1.15 L2.06,0.95 L2.32,0.78 L2.59,0.62 L2.87,0.48 L3.16,0.35 L3.45,0.24 L3.76,0.16 L4.06,0.09 L4.37,0.04 L4.69,0.01 L5.00,0.00 L5.31,0.01 L5.63,0.04 L5.94,0.09 L6.24,0.16 L6.55,0.24 L6.84,0.35 L7.13,0.48 L7.41,0.62 L7.68,0.78 L7.94,0.95 L8.19,1.15 L8.42,1.36 L8.64,1.58 L8.85,1.81 L9.05,2.06 L9.22,2.32 L9.38,2.59 L9.52,2.87 L9.65,3.16 L9.76,3.45 L9.84,3.76 L9.91,4.06 L9.96,4.37 L9.99,4.69 Z"]
- RenderSVGContainer {g} at (216.67,218.33) size 90x90
- RenderPath {path} at (216.67,218.33) size 90x90 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M130.00,135.00 L180.00,135.00 L180.00,185.00"]
+ RenderSVGContainer {g} at (216.67,218.33) size 90.00x90
+ RenderPath {path} at (216.67,218.33) size 90.00x90 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M130.00,135.00 L180.00,135.00 L180.00,185.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-marker-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-marker-creation-expected.txt
index 3d8509d..bb83985 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-marker-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-marker-creation-expected.txt
@@ -4,7 +4,7 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
- RenderSVGRoot {svg} at (216.67,218.33) size 90x90
+ RenderSVGRoot {svg} at (216.67,218.33) size 90.00x90
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGViewportContainer {marker} at (0,0) size 2x2
RenderPath {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L10.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
@@ -12,5 +12,5 @@
RenderPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M5.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
RenderSVGViewportContainer {marker} at (0,0) size 2x2
RenderPath {circle} at (0,0) size 2x2 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,5.00 L9.99,5.31 L9.96,5.63 L9.91,5.94 L9.84,6.24 L9.76,6.55 L9.65,6.84 L9.52,7.13 L9.38,7.41 L9.22,7.68 L9.05,7.94 L8.85,8.19 L8.64,8.42 L8.42,8.64 L8.19,8.85 L7.94,9.05 L7.68,9.22 L7.41,9.38 L7.13,9.52 L6.84,9.65 L6.55,9.76 L6.24,9.84 L5.94,9.91 L5.63,9.96 L5.31,9.99 L5.00,10.00 L4.69,9.99 L4.37,9.96 L4.06,9.91 L3.76,9.84 L3.45,9.76 L3.16,9.65 L2.87,9.52 L2.59,9.38 L2.32,9.22 L2.06,9.05 L1.81,8.85 L1.58,8.64 L1.36,8.42 L1.15,8.19 L0.95,7.94 L0.78,7.68 L0.62,7.41 L0.48,7.13 L0.35,6.84 L0.24,6.55 L0.16,6.24 L0.09,5.94 L0.04,5.63 L0.01,5.31 L0.00,5.00 L0.01,4.69 L0.04,4.37 L0.09,4.06 L0.16,3.76 L0.24,3.45 L0.35,3.16 L0.48,2.87 L0.62,2.59 L0.78,2.32 L0.95,2.06 L1.15,1.81 L1.36,1.58 L1.58,1.36 L1.81,1.15 L2.06,0.95 L2.32,0.78 L2.59,0.62 L2.87,0.48 L3.16,0.35 L3.45,0.24 L3.76,0.16 L4.06,0.09 L4.37,0.04 L4.69,0.01 L5.00,0.00 L5.31,0.01 L5.63,0.04 L5.94,0.09 L6.24,0.16 L6.55,0.24 L6.84,0.35 L7.13,0.48 L7.41,0.62 L7.68,0.78 L7.94,0.95 L8.19,1.15 L8.42,1.36 L8.64,1.58 L8.85,1.81 L9.05,2.06 L9.22,2.32 L9.38,2.59 L9.52,2.87 L9.65,3.16 L9.76,3.45 L9.84,3.76 L9.91,4.06 L9.96,4.37 L9.99,4.69 Z"]
- RenderSVGContainer {g} at (216.67,218.33) size 90x90
- RenderPath {path} at (216.67,218.33) size 90x90 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M130.00,135.00 L180.00,135.00 L180.00,185.00"]
+ RenderSVGContainer {g} at (216.67,218.33) size 90.00x90
+ RenderPath {path} at (216.67,218.33) size 90.00x90 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M130.00,135.00 L180.00,135.00 L180.00,185.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt b/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt
index ad4f932..5f60a2f 100644
--- a/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt
@@ -7,92 +7,92 @@
RenderSVGText {text} at (0,30) size 465x10 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-8) size 465x10
chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 120 width 465.00: "All svgs below should look the same, since all have preserveAspectRatio with syntax errors and default should be chosen."
- RenderSVGContainer {g} at (0,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
- RenderSVGViewportContainer {svg} at (0,83.33) size 50x100
- RenderPath {rect} at (0,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (8.33,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (8.33,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (0,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (0,83.33) size 50x100.00
+ RenderPath {rect} at (0,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (8.33,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (8.33,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (17.50,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (25.83,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (15.63,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (83.33,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
- RenderSVGViewportContainer {svg} at (83.33,83.33) size 50x100
- RenderPath {rect} at (83.33,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (91.67,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (91.67,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (83.33,83.33) size 50.00x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (83.33,83.33) size 50.00x100.00
+ RenderPath {rect} at (83.33,83.33) size 50.00x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (91.67,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (91.67,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (100.83,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (109.17,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (98.96,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (166.67,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
- RenderSVGViewportContainer {svg} at (166.67,83.33) size 50x100
- RenderPath {rect} at (166.67,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (175.00,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (175.00,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (166.67,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (166.67,83.33) size 50x100.00
+ RenderPath {rect} at (166.67,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (175,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (175,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (184.17,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (192.50,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (182.29,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (250,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,50.00)}]
- RenderSVGViewportContainer {svg} at (250,83.33) size 50x100
- RenderPath {rect} at (250,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (258.33,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (258.33,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (250,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (250,83.33) size 50x100.00
+ RenderPath {rect} at (250,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (258.33,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (258.33,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (267.50,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (275.83,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (265.63,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (333.33,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,50.00)}]
- RenderSVGViewportContainer {svg} at (333.33,83.33) size 50x100
- RenderPath {rect} at (333.33,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (341.67,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (341.67,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (333.33,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (333.33,83.33) size 50x100.00
+ RenderPath {rect} at (333.33,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (341.67,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (341.67,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (350.83,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (359.17,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (348.96,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (416.67,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
- RenderSVGViewportContainer {svg} at (416.67,83.33) size 50x100
- RenderPath {rect} at (416.67,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (425,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (425,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (416.67,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (416.67,83.33) size 50x100.00
+ RenderPath {rect} at (416.67,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (425,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (425,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (434.17,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (442.50,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (432.29,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (500,83.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
- RenderSVGViewportContainer {svg} at (500,83.33) size 50x100
- RenderPath {rect} at (500,83.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (508.33,108.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (508.33,108.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (500,83.33) size 50x100.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (500,83.33) size 50x100.00
+ RenderPath {rect} at (500,83.33) size 50x100.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (508.33,108.33) size 33.33x50.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (508.33,108.33) size 33.33x50.00 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (517.50,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (525.83,122.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (515.63,141.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
RenderSVGText {text} at (0,190) size 280x10 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-8) size 280x10
chunk 1 text run 1 at (0.00,190.00) startOffset 0 endOffset 72 width 280.00: "All svgs below should look the same, all have valid preserveAspectRatio."
- RenderSVGContainer {g} at (0,350.00) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,200.00)}]
- RenderSVGViewportContainer {svg} at (0,350.00) size 50x66.67
- RenderPath {rect} at (0,350.00) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (0,350) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,200.00)}]
+ RenderSVGViewportContainer {svg} at (0,350) size 50x66.67
+ RenderPath {rect} at (0,350) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (8.33,366.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (8.33,366.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (17.50,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (25.83,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (15.63,388.70) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (83.33,350.00) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
- RenderSVGViewportContainer {svg} at (83.33,350.00) size 50x66.67
- RenderPath {rect} at (83.33,350.00) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (83.33,350) size 50.00x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
+ RenderSVGViewportContainer {svg} at (83.33,350) size 50.00x66.67
+ RenderPath {rect} at (83.33,350) size 50.00x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (91.67,366.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (91.67,366.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (100.83,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (109.17,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (98.96,388.70) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (166.67,350.00) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,200.00)}]
- RenderSVGViewportContainer {svg} at (166.67,350.00) size 50x66.67
- RenderPath {rect} at (166.67,350.00) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (175.00,366.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (175.00,366.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (166.67,350) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,200.00)}]
+ RenderSVGViewportContainer {svg} at (166.67,350) size 50x66.67
+ RenderPath {rect} at (166.67,350) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (175,366.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (175,366.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (184.17,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (192.50,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (182.29,388.70) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (250,350.00) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,200.00)}]
- RenderSVGViewportContainer {svg} at (250,350.00) size 50x66.67
- RenderPath {rect} at (250,350.00) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (250,350) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,200.00)}]
+ RenderSVGViewportContainer {svg} at (250,350) size 50x66.67
+ RenderPath {rect} at (250,350) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (258.33,366.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (258.33,366.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (267.50,375.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/shapes-supporting-markers-expected.txt b/LayoutTests/platform/mac/svg/custom/shapes-supporting-markers-expected.txt
index e39998d..c4e5e50 100644
--- a/LayoutTests/platform/mac/svg/custom/shapes-supporting-markers-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/shapes-supporting-markers-expected.txt
@@ -19,4 +19,4 @@
RenderPath {line} at (-0.83,200) size 1.67x83.33 [stroke={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="M0.00,120.00 L0.00,170.00"]
RenderPath {polyline} at (50,199.17) size 84.68x84.54 [stroke={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="M30.00,120.00 L80.00,120.00 L55.00,170.00"]
RenderPath {polygon} at (165.32,199.17) size 86.03x86.03 [stroke={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="M100.00,120.00 L150.00,120.00 L125.00,170.00 Z"]
- RenderPath {path} at (282.50,199.17) size 85.52x85 [stroke={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="M170.00,120.00 L220.00,120.00 L195.00,170.00 C185.00,170.00,170.00,140.00,170.00,120.00"]
+ RenderPath {path} at (282.50,199.17) size 85.52x85.00 [stroke={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="M170.00,120.00 L220.00,120.00 L195.00,170.00 C185.00,170.00,170.00,140.00,170.00,120.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt b/LayoutTests/platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt
index e9eeab4..c62ea63 100644
--- a/LayoutTests/platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt
@@ -1,10 +1,10 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 453x113
- RenderSVGRoot {svg} at (-0.07,-0.56) size 453.13x114.13
+ RenderSVGRoot {svg} at (-0.06,-0.56) size 453.13x114.13
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderPath {path} at (300,49.50) size 600.50x201 [stroke={[type=SOLID] [color=#FF0000] [opacity=0.50] [miter limit=10.00] [line join=BEVEL] [dash array={300.00, 100.00}]}] [fill={[type=SOLID] [color=#000000]}] [data="M300.00,50.00 L900.00,50.00 L900.00,250.00 L300.00,250.00"]
- RenderPath {rect} at (-0.07,-0.56) size 453.13x114.13 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M0.00,0.00 L1200.00,0.00 L1200.00,300.00 L0.00,300.00 Z"]
+ RenderPath {rect} at (-0.06,-0.56) size 453.13x114.13 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M0.00,0.00 L1200.00,0.00 L1200.00,300.00 L0.00,300.00 Z"]
RenderSVGContainer {g} at (105.97,11.30) size 241.07x90.40
RenderSVGContainer {use} at (105.97,11.30) size 241.07x90.40
RenderSVGContainer {g} at (105.97,11.30) size 241.07x90.40
diff --git a/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.txt b/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.txt
index 16153fc..503ab50 100644
--- a/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.txt
@@ -25,9 +25,9 @@
RenderPath {circle} at (17.50,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (25.83,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (15.63,122.03) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (83.33,83.33) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
- RenderSVGViewportContainer {svg} at (83.33,83.33) size 50x66.67
- RenderPath {rect} at (83.33,83.33) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (83.33,83.33) size 50.00x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
+ RenderSVGViewportContainer {svg} at (83.33,83.33) size 50.00x66.67
+ RenderPath {rect} at (83.33,83.33) size 50.00x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (91.67,100) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (91.67,100) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (100.83,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
@@ -36,8 +36,8 @@
RenderSVGContainer {g} at (166.67,83.33) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
RenderSVGViewportContainer {svg} at (166.67,83.33) size 50x66.67
RenderPath {rect} at (166.67,83.33) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (175.00,100) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (175.00,100) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (175,100) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (175,100) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (184.17,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (192.50,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (182.29,122.03) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
@@ -84,8 +84,8 @@
RenderSVGContainer {g} at (666.67,83.33) size 50x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,50.00)}]
RenderSVGViewportContainer {svg} at (666.67,83.33) size 50x66.67
RenderPath {rect} at (666.67,83.33) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (675.00,100) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (675.00,100) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (675,100) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (675,100) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (684.17,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (692.50,109.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (682.29,122.03) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
@@ -108,9 +108,9 @@
RenderPath {circle} at (17.50,372.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (25.83,372.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (15.63,391.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
- RenderSVGContainer {g} at (83.33,333.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
- RenderSVGViewportContainer {svg} at (83.33,333.33) size 50x100
- RenderPath {rect} at (83.33,333.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
+ RenderSVGContainer {g} at (83.33,333.33) size 50.00x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
+ RenderSVGViewportContainer {svg} at (83.33,333.33) size 50.00x100
+ RenderPath {rect} at (83.33,333.33) size 50.00x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
RenderSVGContainer {g} at (91.67,358.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
RenderPath {circle} at (91.67,358.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (100.83,372.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
@@ -119,8 +119,8 @@
RenderSVGContainer {g} at (166.67,333.33) size 50x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,200.00)}]
RenderSVGViewportContainer {svg} at (166.67,333.33) size 50x100
RenderPath {rect} at (166.67,333.33) size 50x100 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50 L29.50,0.50 L29.50,39.50 L0.50,39.50 Z"]
- RenderSVGContainer {g} at (175.00,358.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
- RenderPath {circle} at (175.00,358.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
+ RenderSVGContainer {g} at (175,358.33) size 33.33x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+ RenderPath {circle} at (175,358.33) size 33.33x50 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00 L24.98,15.63 L24.92,16.25 L24.82,16.87 L24.69,17.49 L24.51,18.09 L24.30,18.68 L24.05,19.26 L23.76,19.82 L23.44,20.36 L23.09,20.88 L22.71,21.37 L22.29,21.85 L21.85,22.29 L21.37,22.71 L20.88,23.09 L20.36,23.44 L19.82,23.76 L19.26,24.05 L18.68,24.30 L18.09,24.51 L17.49,24.69 L16.87,24.82 L16.25,24.92 L15.63,24.98 L15.00,25.00 L14.37,24.98 L13.75,24.92 L13.13,24.82 L12.51,24.69 L11.91,24.51 L11.32,24.30 L10.74,24.05 L10.18,23.76 L9.64,23.44 L9.12,23.09 L8.63,22.71 L8.15,22.29 L7.71,21.85 L7.29,21.37 L6.91,20.88 L6.56,20.36 L6.24,19.82 L5.95,19.26 L5.70,18.68 L5.49,18.09 L5.31,17.49 L5.18,16.87 L5.08,16.25 L5.02,15.63 L5.00,15.00 L5.02,14.37 L5.08,13.75 L5.18,13.13 L5.31,12.51 L5.49,11.91 L5.70,11.32 L5.95,10.74 L6.24,10.18 L6.56,9.64 L6.91,9.12 L7.29,8.63 L7.71,8.15 L8.15,7.71 L8.63,7.29 L9.12,6.91 L9.64,6.56 L10.18,6.24 L10.74,5.95 L11.32,5.70 L11.91,5.49 L12.51,5.31 L13.13,5.18 L13.75,5.08 L14.37,5.02 L15.00,5.00 L15.63,5.02 L16.25,5.08 L16.87,5.18 L17.49,5.31 L18.09,5.49 L18.68,5.70 L19.26,5.95 L19.82,6.24 L20.36,6.56 L20.88,6.91 L21.37,7.29 L21.85,7.71 L22.29,8.15 L22.71,8.63 L23.09,9.12 L23.44,9.64 L23.76,10.18 L24.05,10.74 L24.30,11.32 L24.51,11.91 L24.69,12.51 L24.82,13.13 L24.92,13.75 L24.98,14.37 Z"]
RenderPath {circle} at (184.17,372.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00 L13.50,12.09 L13.49,12.19 L13.47,12.28 L13.45,12.37 L13.43,12.46 L13.39,12.55 L13.36,12.64 L13.31,12.72 L13.27,12.80 L13.21,12.88 L13.16,12.96 L13.09,13.03 L13.03,13.09 L12.96,13.16 L12.88,13.21 L12.80,13.27 L12.72,13.31 L12.64,13.36 L12.55,13.39 L12.46,13.43 L12.37,13.45 L12.28,13.47 L12.19,13.49 L12.09,13.50 L12.00,13.50 L11.91,13.50 L11.81,13.49 L11.72,13.47 L11.63,13.45 L11.54,13.43 L11.45,13.39 L11.36,13.36 L11.28,13.31 L11.20,13.27 L11.12,13.21 L11.04,13.16 L10.97,13.09 L10.91,13.03 L10.84,12.96 L10.79,12.88 L10.73,12.80 L10.69,12.72 L10.64,12.64 L10.61,12.55 L10.57,12.46 L10.55,12.37 L10.53,12.28 L10.51,12.19 L10.50,12.09 L10.50,12.00 L10.50,11.91 L10.51,11.81 L10.53,11.72 L10.55,11.63 L10.57,11.54 L10.61,11.45 L10.64,11.36 L10.69,11.28 L10.73,11.20 L10.79,11.12 L10.84,11.04 L10.91,10.97 L10.97,10.91 L11.04,10.84 L11.12,10.79 L11.20,10.73 L11.28,10.69 L11.36,10.64 L11.45,10.61 L11.54,10.57 L11.63,10.55 L11.72,10.53 L11.81,10.51 L11.91,10.50 L12.00,10.50 L12.09,10.50 L12.19,10.51 L12.28,10.53 L12.37,10.55 L12.46,10.57 L12.55,10.61 L12.64,10.64 L12.72,10.69 L12.80,10.73 L12.88,10.79 L12.96,10.84 L13.03,10.91 L13.09,10.97 L13.16,11.04 L13.21,11.12 L13.27,11.20 L13.31,11.28 L13.36,11.36 L13.39,11.45 L13.43,11.54 L13.45,11.63 L13.47,11.72 L13.49,11.81 L13.50,11.91 Z"]
RenderPath {circle} at (192.50,372.08) size 5x7.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00 L18.50,12.09 L18.49,12.19 L18.47,12.28 L18.45,12.37 L18.43,12.46 L18.39,12.55 L18.36,12.64 L18.31,12.72 L18.27,12.80 L18.21,12.88 L18.16,12.96 L18.09,13.03 L18.03,13.09 L17.96,13.16 L17.88,13.21 L17.80,13.27 L17.72,13.31 L17.64,13.36 L17.55,13.39 L17.46,13.43 L17.37,13.45 L17.28,13.47 L17.19,13.49 L17.09,13.50 L17.00,13.50 L16.91,13.50 L16.81,13.49 L16.72,13.47 L16.63,13.45 L16.54,13.43 L16.45,13.39 L16.36,13.36 L16.28,13.31 L16.20,13.27 L16.12,13.21 L16.04,13.16 L15.97,13.09 L15.91,13.03 L15.84,12.96 L15.79,12.88 L15.73,12.80 L15.69,12.72 L15.64,12.64 L15.61,12.55 L15.57,12.46 L15.55,12.37 L15.53,12.28 L15.51,12.19 L15.50,12.09 L15.50,12.00 L15.50,11.91 L15.51,11.81 L15.53,11.72 L15.55,11.63 L15.57,11.54 L15.61,11.45 L15.64,11.36 L15.69,11.28 L15.73,11.20 L15.79,11.12 L15.84,11.04 L15.91,10.97 L15.97,10.91 L16.04,10.84 L16.12,10.79 L16.20,10.73 L16.28,10.69 L16.36,10.64 L16.45,10.61 L16.54,10.57 L16.63,10.55 L16.72,10.53 L16.81,10.51 L16.91,10.50 L17.00,10.50 L17.09,10.50 L17.19,10.51 L17.28,10.53 L17.37,10.55 L17.46,10.57 L17.55,10.61 L17.64,10.64 L17.72,10.69 L17.80,10.73 L17.88,10.79 L17.96,10.84 L18.03,10.91 L18.09,10.97 L18.16,11.04 L18.21,11.12 L18.27,11.20 L18.31,11.28 L18.36,11.36 L18.39,11.45 L18.43,11.54 L18.45,11.63 L18.47,11.72 L18.49,11.81 L18.50,11.91 Z"]
RenderPath {path} at (182.29,391.38) size 18.75x15.15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00 L15.00,23.00 L20.00,19.00"]
diff --git a/LayoutTests/platform/mac/svg/hixie/perf/001-expected.txt b/LayoutTests/platform/mac/svg/hixie/perf/001-expected.txt
index bebf1b1..53099ae 100644
--- a/LayoutTests/platform/mac/svg/hixie/perf/001-expected.txt
+++ b/LayoutTests/platform/mac/svg/hixie/perf/001-expected.txt
@@ -46,7 +46,7 @@
RenderPath {path} at (243.80,414.00) size 37.20x22 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-20.20,218.80 C-20.20,218.80,-19.00,214.00,-21.80,214.80 C-23.80,214.80,-50.20,226.40,-56.20,236.00 C-56.20,236.00,-26.60,214.40,-20.20,218.80 Z"]
RenderPath {path} at (255.40,419.60) size 134.00x87.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-34.60,266.40 L-44.60,274.00 C-44.60,274.00,-34.20,266.40,-30.60,267.60 C-30.60,267.60,-37.40,278.80,-38.20,284.00 C-38.20,284.00,-27.80,271.20,-22.20,271.60 C-22.20,271.60,-14.60,272.00,-14.60,282.80 C-14.60,282.80,-9.00,272.40,-5.80,272.80 C-5.80,272.80,-4.60,279.20,-5.80,286.00 C-5.80,286.00,-1.80,278.40,2.20,280.00 C2.20,280.00,8.60,278.00,7.80,289.60 C7.80,289.60,7.80,300.00,7.00,302.80 C7.00,302.80,12.60,276.40,15.00,276.00 C15.00,276.00,23.00,274.80,27.80,283.60 C27.80,283.60,23.80,276.00,28.60,278.00 C28.60,278.00,39.40,279.60,42.60,286.40 C42.60,286.40,35.80,274.40,41.40,277.60 C41.40,277.60,48.20,277.60,49.40,284.00 C49.40,284.00,57.80,305.20,59.80,306.80 C59.80,306.80,52.20,285.20,53.80,285.20 C53.80,285.20,51.80,273.20,57.00,288.00 C57.00,288.00,53.80,274.00,59.40,274.80 C65.00,275.60,69.40,285.60,77.80,283.20 C77.80,283.20,87.40,288.80,89.40,219.60 L-34.60,266.40 Z"]
RenderPath {path} at (258.60,349.20) size 144.00x127.60 [fill={[type=SOLID] [color=#000000]}] [data="M-29.80,173.60 C-29.80,173.60,-15.00,167.60,25.00,173.60 C25.00,173.60,32.20,174.00,39.00,165.20 C45.80,156.40,72.60,149.20,79.00,151.20 L88.60,157.60 L89.40,158.80 C89.40,158.80,101.80,169.20,102.20,176.80 C102.60,184.40,87.80,232.40,78.20,248.40 C68.60,264.40,59.00,276.80,39.80,274.40 C39.80,274.40,19.00,270.40,-6.60,274.40 C-6.60,274.40,-35.80,272.80,-38.60,264.80 C-41.40,256.80,-27.40,241.60,-27.40,241.60 C-27.40,241.60,-23.00,233.20,-24.20,218.80 C-25.40,204.40,-25.00,176.40,-29.80,173.60 Z"]
- RenderPath {path} at (269,375.60) size 122.80x91.25 [fill={[type=SOLID] [color=#E5668C]}] [data="M-7.80,175.60 C0.60,194.00,-29.00,259.20,-29.00,259.20 C-31.00,260.80,-16.34,266.85,-6.20,264.40 C4.75,261.76,45.00,266.00,45.00,266.00 C68.60,250.40,81.40,206.00,81.40,206.00 C81.40,206.00,91.80,182.00,74.20,178.80 C56.60,175.60,-7.80,175.60,-7.80,175.60 Z"]
+ RenderPath {path} at (269,375.60) size 122.80x91.24 [fill={[type=SOLID] [color=#E5668C]}] [data="M-7.80,175.60 C0.60,194.00,-29.00,259.20,-29.00,259.20 C-31.00,260.80,-16.34,266.85,-6.20,264.40 C4.75,261.76,45.00,266.00,45.00,266.00 C68.60,250.40,81.40,206.00,81.40,206.00 C81.40,206.00,91.80,182.00,74.20,178.80 C56.60,175.60,-7.80,175.60,-7.80,175.60 Z"]
RenderPath {path} at (290.17,353.33) size 94.63x54.68 [fill={[type=SOLID] [color=#B23259]}] [data="M-9.83,206.50 C-6.51,193.71,-4.92,181.91,-7.80,175.60 C-7.80,175.60,54.60,182.00,65.80,161.20 C70.04,153.33,84.80,184.00,84.40,193.60 C84.40,193.60,21.40,208.00,6.60,196.80 L-9.83,206.50 Z"]
RenderPath {path} at (291.40,414.40) size 72.40x36.80 [fill={[type=SOLID] [color=#A5264C]}] [data="M-5.40,222.80 C-5.40,222.80,-3.40,230.00,-5.80,234.00 C-5.80,234.00,-7.40,234.80,-8.60,235.20 C-8.60,235.20,-7.40,238.80,-1.40,240.40 C-1.40,240.40,0.60,244.80,3.00,245.20 C5.40,245.60,10.20,251.20,14.20,250.00 C18.20,248.80,29.40,244.80,29.40,244.80 C29.40,244.80,35.00,241.60,43.80,245.20 C43.80,245.20,46.17,244.40,46.60,240.40 C47.10,235.70,50.20,232.00,52.20,230.00 C54.20,228.00,63.80,215.20,62.60,214.80 C61.40,214.40,-5.40,222.80,-5.40,222.80 Z"]
RenderPath {path} at (288.52,357.28) size 88.86x84.42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF727F]}] [data="M-9.80,174.40 C-9.80,174.40,-12.60,196.80,-9.40,205.20 C-6.20,213.60,-7.00,215.60,-7.80,219.60 C-8.60,223.60,-4.20,233.60,1.40,239.60 L13.40,241.20 C13.40,241.20,28.60,237.60,37.80,240.40 C37.80,240.40,46.79,241.74,50.20,226.80 C50.20,226.80,55.00,220.40,62.20,217.60 C69.40,214.80,76.60,173.20,72.60,165.20 C68.60,157.20,54.20,152.80,38.20,168.40 C22.20,184.00,20.20,167.20,-9.80,174.40 Z"]
@@ -131,12 +131,12 @@
RenderPath {path} at (233.47,206.46) size 2.26x5.09 [fill={[type=SOLID] [color=#000000]}] [data="M-65.40,11.55 C-66.03,11.55,-66.53,10.41,-66.53,9.00 C-66.53,7.59,-66.03,6.45,-65.40,6.45 C-64.78,6.45,-64.27,7.59,-64.27,9.00 C-64.27,10.41,-64.78,11.55,-65.40,11.55 Z"]
RenderPath {path} at (234.60,209) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data="M-65.40,9.00 Z"]
RenderPath {path} at (178.15,295.50) size 84.25x62.42 [fill={[type=SOLID] [color=#000000]}] [data="M-111.00,109.60 C-111.00,109.60,-116.60,119.60,-91.80,113.60 C-91.80,113.60,-77.80,112.40,-75.40,110.00 C-74.20,110.80,-65.83,113.73,-63.00,114.40 C-56.20,116.00,-47.80,106.00,-47.80,106.00 C-47.80,106.00,-43.20,95.50,-40.40,95.50 C-37.60,95.50,-40.80,97.10,-40.80,97.10 C-40.80,97.10,-47.40,107.20,-47.00,108.80 C-47.00,108.80,-52.20,128.80,-68.20,129.60 C-68.20,129.60,-84.35,130.55,-83.00,136.40 C-83.00,136.40,-74.20,134.00,-71.80,136.40 C-71.80,136.40,-61.00,136.00,-69.00,142.40 L-75.80,154.00 C-75.80,154.00,-75.66,157.92,-85.80,154.40 C-95.60,151.00,-105.90,138.10,-105.90,138.10 C-105.90,138.10,-121.85,123.55,-111.00,109.60 Z"]
- RenderPath {path} at (185.80,312.80) size 60.00x43.20 [fill={[type=SOLID] [color=#E59999]}] [data="M-112.20,113.60 C-112.20,113.60,-114.20,123.20,-77.40,112.80 C-77.40,112.80,-73.00,112.80,-70.60,113.60 C-68.20,114.40,-56.20,117.20,-54.20,116.00 C-54.20,116.00,-61.40,129.60,-73.00,128.00 C-73.00,128.00,-86.20,129.60,-85.80,134.40 C-85.80,134.40,-81.80,141.60,-77.00,144.00 C-77.00,144.00,-74.20,146.40,-74.60,149.60 C-75.00,152.80,-77.80,154.40,-79.80,155.20 C-81.80,156.00,-85.00,152.80,-86.60,152.80 C-88.20,152.80,-96.60,146.40,-101.00,141.60 C-105.40,136.80,-113.80,124.80,-113.40,122.00 C-113.00,119.20,-112.20,113.60,-112.20,113.60 Z"]
+ RenderPath {path} at (185.80,312.80) size 60x43.20 [fill={[type=SOLID] [color=#E59999]}] [data="M-112.20,113.60 C-112.20,113.60,-114.20,123.20,-77.40,112.80 C-77.40,112.80,-73.00,112.80,-70.60,113.60 C-68.20,114.40,-56.20,117.20,-54.20,116.00 C-54.20,116.00,-61.40,129.60,-73.00,128.00 C-73.00,128.00,-86.20,129.60,-85.80,134.40 C-85.80,134.40,-81.80,141.60,-77.00,144.00 C-77.00,144.00,-74.20,146.40,-74.60,149.60 C-75.00,152.80,-77.80,154.40,-79.80,155.20 C-81.80,156.00,-85.00,152.80,-86.60,152.80 C-88.20,152.80,-96.60,146.40,-101.00,141.60 C-105.40,136.80,-113.80,124.80,-113.40,122.00 C-113.00,119.20,-112.20,113.60,-112.20,113.60 Z"]
RenderPath {path} at (191,326.00) size 34.80x30 [fill={[type=SOLID] [color=#B26565]}] [data="M-109.00,131.05 C-106.40,135.00,-103.20,139.20,-101.00,141.60 C-96.60,146.40,-88.20,152.80,-86.60,152.80 C-85.00,152.80,-81.80,156.00,-79.80,155.20 C-77.80,154.40,-75.00,152.80,-74.60,149.60 C-74.20,146.40,-77.00,144.00,-77.00,144.00 C-80.07,142.47,-82.81,138.98,-84.39,136.65 C-84.39,136.65,-84.20,139.20,-89.40,138.40 C-94.60,137.60,-99.80,134.80,-101.40,131.60 C-103.00,128.40,-105.40,126.00,-103.80,129.60 C-102.20,133.20,-99.80,136.80,-98.20,137.20 C-96.60,137.60,-97.00,138.80,-99.40,138.40 C-101.80,138.00,-104.60,137.60,-109.00,132.40 Z"]
RenderPath {path} at (185.80,209.63) size 57.90x104.17 [fill={[type=SOLID] [color=#992600]}] [data="M-111.60,110.00 C-111.60,110.00,-109.80,96.40,-108.60,92.40 C-108.60,92.40,-109.40,85.60,-107.00,81.40 C-104.60,77.20,-102.60,71.00,-99.60,65.60 C-96.60,60.20,-96.40,56.20,-92.40,54.60 C-88.40,53.00,-82.40,44.40,-79.60,43.40 C-76.80,42.40,-77.00,43.20,-77.00,43.20 C-77.00,43.20,-70.20,28.40,-56.60,32.40 C-56.60,32.40,-72.80,29.60,-57.00,20.20 C-57.00,20.20,-61.80,21.30,-58.50,14.30 C-56.30,9.63,-56.80,16.40,-67.80,28.20 C-67.80,28.20,-72.80,36.80,-78.00,39.80 C-83.20,42.80,-95.20,49.80,-96.40,53.60 C-97.60,57.40,-100.80,63.20,-102.80,64.80 C-104.80,66.40,-107.60,70.60,-108.00,74.00 C-108.00,74.00,-109.20,78.00,-110.60,79.20 C-112.00,80.40,-112.20,83.60,-112.20,85.60 C-112.20,87.60,-114.20,90.40,-114.00,92.80 C-114.00,92.80,-113.20,111.80,-113.60,113.80 L-111.60,110.00 Z"]
RenderPath {path} at (173.40,313.20) size 8.40x40.40 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M-120.20,114.60 C-120.20,114.60,-122.20,113.20,-126.60,119.20 C-126.60,119.20,-119.30,152.20,-119.30,153.60 C-119.30,153.60,-118.20,151.50,-119.50,144.30 C-120.80,137.10,-121.70,124.40,-121.70,124.40 L-120.20,114.60 Z"]
RenderPath {path} at (166.60,251.20) size 39.30x64.50 [fill={[type=SOLID] [color=#992600]}] [data="M-98.60,54.00 C-98.60,54.00,-116.20,57.20,-115.80,86.40 L-116.60,111.20 C-116.60,111.20,-117.80,85.60,-119.00,84.00 C-120.20,82.40,-116.20,71.20,-119.40,77.20 C-119.40,77.20,-133.40,91.20,-125.40,112.40 C-125.40,112.40,-123.90,115.70,-126.90,111.10 C-126.90,111.10,-131.50,98.50,-130.40,92.10 C-130.40,92.10,-130.20,89.90,-128.30,87.10 C-128.30,87.10,-119.70,75.40,-117.00,73.10 C-117.00,73.10,-115.20,58.70,-99.80,53.50 C-99.80,53.50,-94.10,51.20,-98.60,54.00 Z"]
- RenderPath {path} at (320.04,162.42) size 25.77x48.00 [fill={[type=SOLID] [color=#000000]}] [data="M40.80,-12.20 C41.46,-12.55,41.45,-13.52,42.03,-13.70 C43.18,-14.04,43.34,-15.11,43.86,-15.89 C44.74,-17.21,44.93,-18.74,45.51,-20.24 C45.78,-20.93,45.81,-21.89,45.50,-22.55 C44.32,-25.03,43.62,-27.48,42.18,-29.91 C41.91,-30.36,41.65,-31.15,41.45,-31.75 C40.98,-33.13,39.73,-34.12,38.87,-35.44 C38.58,-35.88,39.10,-36.81,38.39,-36.89 C37.49,-37.00,36.04,-37.58,35.81,-36.55 C35.22,-33.97,36.23,-31.44,37.20,-29.00 C36.42,-28.31,36.75,-27.39,36.90,-26.62 C37.61,-23.01,36.42,-19.66,35.65,-16.19 C35.63,-16.08,35.97,-15.89,35.95,-15.82 C34.72,-13.14,33.27,-10.69,31.45,-8.31 C30.69,-7.32,29.82,-6.40,29.33,-5.34 C28.96,-4.55,28.55,-3.59,28.80,-2.60 C25.36,0.18,23.11,4.03,20.50,7.87 C20.04,8.55,20.33,9.76,20.88,10.03 C21.70,10.43,22.65,9.40,23.12,8.56 C23.51,7.86,23.86,7.21,24.36,6.57 C24.49,6.39,24.31,5.97,24.44,5.85 C27.08,3.50,28.75,0.57,31.20,-1.80 C33.15,-2.13,34.69,-3.13,36.44,-4.14 C36.74,-4.32,37.27,-4.07,37.56,-4.26 C39.31,-5.44,39.31,-7.48,39.41,-9.39 C39.46,-10.27,39.66,-11.59,40.80,-12.20 Z"]
+ RenderPath {path} at (320.04,162.42) size 25.77x48.01 [fill={[type=SOLID] [color=#000000]}] [data="M40.80,-12.20 C41.46,-12.55,41.45,-13.52,42.03,-13.70 C43.18,-14.04,43.34,-15.11,43.86,-15.89 C44.74,-17.21,44.93,-18.74,45.51,-20.24 C45.78,-20.93,45.81,-21.89,45.50,-22.55 C44.32,-25.03,43.62,-27.48,42.18,-29.91 C41.91,-30.36,41.65,-31.15,41.45,-31.75 C40.98,-33.13,39.73,-34.12,38.87,-35.44 C38.58,-35.88,39.10,-36.81,38.39,-36.89 C37.49,-37.00,36.04,-37.58,35.81,-36.55 C35.22,-33.97,36.23,-31.44,37.20,-29.00 C36.42,-28.31,36.75,-27.39,36.90,-26.62 C37.61,-23.01,36.42,-19.66,35.65,-16.19 C35.63,-16.08,35.97,-15.89,35.95,-15.82 C34.72,-13.14,33.27,-10.69,31.45,-8.31 C30.69,-7.32,29.82,-6.40,29.33,-5.34 C28.96,-4.55,28.55,-3.59,28.80,-2.60 C25.36,0.18,23.11,4.03,20.50,7.87 C20.04,8.55,20.33,9.76,20.88,10.03 C21.70,10.43,22.65,9.40,23.12,8.56 C23.51,7.86,23.86,7.21,24.36,6.57 C24.49,6.39,24.31,5.97,24.44,5.85 C27.08,3.50,28.75,0.57,31.20,-1.80 C33.15,-2.13,34.69,-3.13,36.44,-4.14 C36.74,-4.32,37.27,-4.07,37.56,-4.26 C39.31,-5.44,39.31,-7.48,39.41,-9.39 C39.46,-10.27,39.66,-11.59,40.80,-12.20 Z"]
RenderPath {path} at (327.50,162.19) size 7.98x22.49 [fill={[type=SOLID] [color=#000000]}] [data="M31.96,-16.67 C32.08,-16.74,31.93,-17.17,32.04,-17.38 C32.20,-17.71,32.60,-17.89,32.76,-18.22 C32.87,-18.43,32.71,-18.81,32.85,-18.96 C35.18,-21.40,35.44,-24.43,34.40,-27.40 C35.42,-28.02,35.49,-29.28,35.06,-30.13 C34.21,-31.83,34.01,-33.76,33.04,-35.30 C32.24,-36.57,30.66,-37.81,29.29,-36.51 C28.87,-36.11,28.55,-35.32,28.82,-34.61 C28.89,-34.45,29.17,-34.30,29.15,-34.22 C29.04,-33.89,28.49,-33.67,28.49,-33.40 C28.46,-31.90,27.50,-30.39,28.13,-29.06 C28.91,-27.43,29.72,-25.58,30.40,-23.80 C29.17,-21.68,30.20,-19.24,28.45,-17.36 C28.31,-17.21,28.32,-16.83,28.44,-16.62 C28.73,-16.14,29.14,-15.73,29.62,-15.44 C29.83,-15.32,30.17,-15.32,30.38,-15.44 C30.95,-15.80,31.35,-16.29,31.96,-16.67 Z"]
RenderPath {path} at (387.61,143.97) size 20.43x38.34 [fill={[type=SOLID] [color=#000000]}] [data="M94.77,-26.98 C96.16,-25.18,96.45,-22.39,94.40,-21.00 C94.95,-17.69,98.30,-19.67,100.40,-20.20 C100.29,-20.59,100.52,-20.93,100.80,-20.94 C101.86,-20.95,102.54,-21.98,103.60,-21.80 C104.04,-23.36,105.67,-24.06,106.32,-25.44 C108.04,-29.13,107.45,-33.41,104.87,-36.65 C104.67,-36.91,104.88,-37.42,104.76,-37.79 C104.00,-40.00,101.93,-40.31,100.00,-41.00 C98.82,-44.88,98.16,-48.91,96.40,-52.60 C94.79,-52.85,94.09,-54.59,92.75,-55.31 C91.42,-56.03,90.85,-54.45,90.89,-53.40 C90.90,-53.20,91.35,-52.97,91.18,-52.61 C91.11,-52.44,90.85,-52.33,90.85,-52.20 C90.85,-52.06,91.07,-51.93,91.20,-51.80 C90.28,-50.98,88.86,-50.50,88.57,-49.36 C87.61,-45.65,90.18,-42.52,91.85,-39.32 C92.44,-38.19,91.71,-36.92,90.95,-35.71 C90.51,-35.01,90.62,-33.89,90.89,-33.03 C91.64,-30.70,93.24,-28.96,94.77,-26.98 Z"]
RenderPath {path} at (337.06,150.03) size 54.44x47.86 [fill={[type=SOLID] [color=#000000]}] [data="M57.61,-8.59 C56.12,-6.74,52.71,-4.17,55.63,-2.24 C55.82,-2.11,56.19,-2.11,56.37,-2.24 C58.39,-3.81,60.39,-4.71,62.83,-5.29 C62.95,-5.32,63.22,-4.86,63.59,-5.02 C65.21,-5.72,67.22,-5.66,68.40,-7.00 C72.17,-6.78,75.73,-7.89,79.12,-9.20 C80.28,-9.65,81.55,-10.21,82.75,-10.71 C84.13,-11.28,85.33,-12.21,86.45,-13.35 C86.58,-13.49,86.93,-13.40,87.20,-13.40 C87.16,-14.26,88.12,-14.39,88.37,-15.01 C88.46,-15.24,88.31,-15.64,88.44,-15.74 C90.58,-17.37,91.50,-19.39,90.33,-21.77 C90.05,-22.34,89.80,-22.96,89.23,-23.44 C88.15,-24.35,87.05,-23.50,86.00,-23.80 C85.84,-23.17,85.11,-23.34,84.73,-23.15 C83.87,-22.71,82.53,-23.29,81.68,-22.85 C80.31,-22.16,79.07,-21.99,77.65,-21.61 C77.34,-21.53,76.56,-21.63,76.40,-21.00 C76.27,-21.13,76.12,-21.37,76.01,-21.35 C74.10,-20.95,72.84,-20.74,71.54,-19.04 C71.44,-18.91,71.00,-19.09,70.84,-18.95 C69.88,-18.15,69.48,-16.91,68.38,-16.24 C68.18,-16.12,67.82,-16.29,67.63,-16.16 C66.98,-15.73,66.62,-15.09,65.97,-14.64 C65.64,-14.41,65.25,-14.73,65.28,-14.99 C65.52,-16.94,66.18,-18.72,65.60,-20.60 C67.68,-23.12,70.19,-25.07,72.00,-27.80 C72.01,-29.97,72.71,-32.11,72.59,-34.19 C72.58,-34.38,72.30,-35.12,72.17,-35.46 C71.86,-36.32,72.76,-37.38,71.92,-38.11 C70.52,-39.31,69.22,-38.43,68.40,-37.00 C66.56,-36.61,64.50,-35.92,62.92,-37.15 C61.91,-37.94,61.33,-38.84,60.53,-39.90 C59.55,-41.20,59.88,-42.64,59.95,-44.20 C59.96,-44.33,59.65,-44.47,59.65,-44.60 C59.65,-44.74,59.87,-44.87,60.00,-45.00 C59.29,-45.63,59.02,-46.68,58.00,-47.00 C58.31,-48.09,57.63,-48.98,56.76,-49.28 C54.76,-49.97,53.09,-48.06,51.19,-47.98 C50.68,-47.97,50.21,-49.00,49.56,-49.33 C49.13,-49.54,48.43,-49.58,48.07,-49.31 C47.38,-48.81,46.79,-48.69,46.03,-48.49 C44.41,-48.05,43.14,-46.96,41.66,-46.10 C40.17,-45.25,39.22,-43.81,38.14,-42.49 C37.19,-41.34,37.06,-38.92,38.48,-38.42 C40.32,-37.77,41.63,-40.48,43.59,-40.15 C43.90,-40.10,44.11,-39.79,44.00,-39.40 C44.39,-39.29,44.61,-39.52,44.80,-39.80 C45.66,-38.78,46.82,-38.44,47.76,-37.57 C48.73,-36.67,50.48,-37.08,51.49,-36.09 C53.02,-34.59,52.46,-31.91,54.40,-30.60 C53.81,-29.29,53.21,-28.01,52.87,-26.58 C52.59,-25.38,53.58,-24.18,54.79,-24.27 C56.05,-24.36,56.31,-25.12,56.80,-26.20 C57.07,-25.93,57.54,-25.64,57.49,-25.42 C57.04,-23.03,56.01,-21.04,55.55,-18.61 C55.49,-18.29,55.19,-18.09,54.80,-18.20 C54.33,-14.05,50.28,-11.66,47.74,-8.49 C47.33,-7.99,47.33,-6.74,47.74,-6.34 C49.14,-4.95,51.10,-6.50,52.80,-7.00 C53.01,-8.21,53.87,-9.15,55.20,-9.09 C55.46,-9.08,55.69,-9.62,56.02,-9.75 C56.37,-9.89,56.87,-9.67,57.15,-9.87 C58.88,-11.06,60.29,-12.17,62.03,-13.36 C62.22,-13.49,62.57,-13.33,62.78,-13.44 C63.11,-13.60,63.29,-13.98,63.62,-14.17 C63.97,-14.37,64.21,-14.08,64.40,-13.80 C63.75,-13.45,63.75,-12.49,63.17,-12.29 C62.39,-12.02,61.83,-11.51,61.16,-11.06 C60.87,-10.87,60.21,-11.12,60.10,-10.94 C59.51,-9.91,58.32,-9.47,57.61,-8.59 Z"]
@@ -235,11 +235,11 @@
RenderPath {path} at (346.20,515.80) size 14.40x32.80 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M46.20,347.40 C46.20,347.40,53.60,327.00,49.20,315.80 C49.20,315.80,60.60,337.40,56.00,348.60 C56.00,348.60,55.60,338.20,51.60,333.20 C51.60,333.20,47.60,346.00,46.20,347.40 Z"]
RenderPath {path} at (321.20,517.60) size 15.60x31.40 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M31.40,344.80 C31.40,344.80,36.80,336.00,28.80,317.60 C28.80,317.60,28.00,338.00,21.20,349.00 C21.20,349.00,35.40,328.80,31.40,344.80 Z"]
RenderPath {path} at (307.60,519.80) size 14.40x26.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M21.40,342.80 C21.40,342.80,21.20,322.80,21.60,319.80 C21.60,319.80,17.80,336.40,7.60,346.00 C7.60,346.00,22.00,334.00,21.40,342.80 Z"]
- RenderPath {path} at (307.80,510.80) size 10.00x32 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M11.80,310.80 C11.80,310.80,17.80,324.40,7.80,342.80 C7.80,342.80,14.20,330.60,9.40,323.60 C9.40,323.60,12.00,320.20,11.80,310.80 Z"]
+ RenderPath {path} at (307.80,510.80) size 10x32 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M11.80,310.80 C11.80,310.80,17.80,324.40,7.80,342.80 C7.80,342.80,14.20,330.60,9.40,323.60 C9.40,323.60,12.00,320.20,11.80,310.80 Z"]
RenderPath {path} at (291.60,511.00) size 13.60x31.60 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-7.40,342.40 C-7.40,342.40,-8.40,326.80,-6.60,324.60 C-6.60,324.60,-6.40,318.20,-6.80,317.20 C-6.80,317.20,-2.80,311.00,-2.60,318.40 C-2.60,318.40,-1.20,326.20,1.60,330.80 C1.60,330.80,5.20,336.20,5.00,342.60 C5.00,342.60,-5.00,312.40,-7.40,342.40 Z"]
RenderPath {path} at (279.20,508.60) size 9.80x36 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-11.00,314.80 C-11.00,314.80,-17.60,325.60,-19.40,344.60 C-19.40,344.60,-20.80,338.40,-17.00,324.00 C-17.00,324.00,-12.80,308.60,-11.00,314.80 Z"]
RenderPath {path} at (262.80,508.40) size 14.40x26.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-32.80,334.60 C-32.80,334.60,-27.80,329.20,-26.40,324.20 C-26.40,324.20,-22.80,308.40,-29.20,317.00 C-29.20,317.00,-29.00,325.00,-37.20,332.40 C-37.20,332.40,-32.40,330.00,-32.80,334.60 Z"]
- RenderPath {path} at (251.80,508.00) size 15.60x29 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-38.60,329.60 C-38.60,329.60,-35.20,312.20,-34.40,311.40 C-34.40,311.40,-32.60,308.00,-35.40,311.20 C-35.40,311.20,-44.20,330.40,-48.20,337.00 C-48.20,337.00,-40.20,327.80,-38.60,329.60 Z"]
+ RenderPath {path} at (251.80,508.00) size 15.60x29.00 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-38.60,329.60 C-38.60,329.60,-35.20,312.20,-34.40,311.40 C-34.40,311.40,-32.60,308.00,-35.40,311.20 C-35.40,311.20,-44.20,330.40,-48.20,337.00 C-48.20,337.00,-40.20,327.80,-38.60,329.60 Z"]
RenderPath {path} at (245.40,490.60) size 21.80x25.80 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-44.40,313.00 C-44.40,313.00,-32.80,290.60,-54.60,316.40 C-54.60,316.40,-43.60,306.60,-44.40,313.00 Z"]
RenderPath {path} at (240.20,470.80) size 15.60x30 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-59.80,298.40 C-59.80,298.40,-55.00,279.60,-52.40,279.80 C-52.40,279.80,-44.20,270.80,-50.80,281.40 C-50.80,281.40,-56.80,291.00,-56.20,300.80 C-56.20,300.80,-56.80,291.20,-59.80,298.40 Z"]
RenderPath {path} at (556,473.50) size 16x25.50 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M270.50,287.00 C270.50,287.00,258.50,277.00,256.00,273.50 C256.00,273.50,269.50,292.00,269.50,299.00 C269.50,299.00,272.00,291.50,270.50,287.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/hixie/perf/002-expected.txt b/LayoutTests/platform/mac/svg/hixie/perf/002-expected.txt
index 727e4d6..86a2d51 100644
--- a/LayoutTests/platform/mac/svg/hixie/perf/002-expected.txt
+++ b/LayoutTests/platform/mac/svg/hixie/perf/002-expected.txt
@@ -46,7 +46,7 @@
RenderPath {path} at (243.80,414.00) size 37.20x22 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-20.20,218.80 C-20.20,218.80,-19.00,214.00,-21.80,214.80 C-23.80,214.80,-50.20,226.40,-56.20,236.00 C-56.20,236.00,-26.60,214.40,-20.20,218.80 Z"]
RenderPath {path} at (255.40,419.60) size 134.00x87.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-34.60,266.40 L-44.60,274.00 C-44.60,274.00,-34.20,266.40,-30.60,267.60 C-30.60,267.60,-37.40,278.80,-38.20,284.00 C-38.20,284.00,-27.80,271.20,-22.20,271.60 C-22.20,271.60,-14.60,272.00,-14.60,282.80 C-14.60,282.80,-9.00,272.40,-5.80,272.80 C-5.80,272.80,-4.60,279.20,-5.80,286.00 C-5.80,286.00,-1.80,278.40,2.20,280.00 C2.20,280.00,8.60,278.00,7.80,289.60 C7.80,289.60,7.80,300.00,7.00,302.80 C7.00,302.80,12.60,276.40,15.00,276.00 C15.00,276.00,23.00,274.80,27.80,283.60 C27.80,283.60,23.80,276.00,28.60,278.00 C28.60,278.00,39.40,279.60,42.60,286.40 C42.60,286.40,35.80,274.40,41.40,277.60 C41.40,277.60,48.20,277.60,49.40,284.00 C49.40,284.00,57.80,305.20,59.80,306.80 C59.80,306.80,52.20,285.20,53.80,285.20 C53.80,285.20,51.80,273.20,57.00,288.00 C57.00,288.00,53.80,274.00,59.40,274.80 C65.00,275.60,69.40,285.60,77.80,283.20 C77.80,283.20,87.40,288.80,89.40,219.60 L-34.60,266.40 Z"]
RenderPath {path} at (258.60,349.20) size 144.00x127.60 [fill={[type=SOLID] [color=#000000]}] [data="M-29.80,173.60 C-29.80,173.60,-15.00,167.60,25.00,173.60 C25.00,173.60,32.20,174.00,39.00,165.20 C45.80,156.40,72.60,149.20,79.00,151.20 L88.60,157.60 L89.40,158.80 C89.40,158.80,101.80,169.20,102.20,176.80 C102.60,184.40,87.80,232.40,78.20,248.40 C68.60,264.40,59.00,276.80,39.80,274.40 C39.80,274.40,19.00,270.40,-6.60,274.40 C-6.60,274.40,-35.80,272.80,-38.60,264.80 C-41.40,256.80,-27.40,241.60,-27.40,241.60 C-27.40,241.60,-23.00,233.20,-24.20,218.80 C-25.40,204.40,-25.00,176.40,-29.80,173.60 Z"]
- RenderPath {path} at (269,375.60) size 122.80x91.25 [fill={[type=SOLID] [color=#E5668C]}] [data="M-7.80,175.60 C0.60,194.00,-29.00,259.20,-29.00,259.20 C-31.00,260.80,-16.34,266.85,-6.20,264.40 C4.75,261.76,45.00,266.00,45.00,266.00 C68.60,250.40,81.40,206.00,81.40,206.00 C81.40,206.00,91.80,182.00,74.20,178.80 C56.60,175.60,-7.80,175.60,-7.80,175.60 Z"]
+ RenderPath {path} at (269,375.60) size 122.80x91.24 [fill={[type=SOLID] [color=#E5668C]}] [data="M-7.80,175.60 C0.60,194.00,-29.00,259.20,-29.00,259.20 C-31.00,260.80,-16.34,266.85,-6.20,264.40 C4.75,261.76,45.00,266.00,45.00,266.00 C68.60,250.40,81.40,206.00,81.40,206.00 C81.40,206.00,91.80,182.00,74.20,178.80 C56.60,175.60,-7.80,175.60,-7.80,175.60 Z"]
RenderPath {path} at (290.17,353.33) size 94.63x54.68 [fill={[type=SOLID] [color=#B23259]}] [data="M-9.83,206.50 C-6.51,193.71,-4.92,181.91,-7.80,175.60 C-7.80,175.60,54.60,182.00,65.80,161.20 C70.04,153.33,84.80,184.00,84.40,193.60 C84.40,193.60,21.40,208.00,6.60,196.80 L-9.83,206.50 Z"]
RenderPath {path} at (291.40,414.40) size 72.40x36.80 [fill={[type=SOLID] [color=#A5264C]}] [data="M-5.40,222.80 C-5.40,222.80,-3.40,230.00,-5.80,234.00 C-5.80,234.00,-7.40,234.80,-8.60,235.20 C-8.60,235.20,-7.40,238.80,-1.40,240.40 C-1.40,240.40,0.60,244.80,3.00,245.20 C5.40,245.60,10.20,251.20,14.20,250.00 C18.20,248.80,29.40,244.80,29.40,244.80 C29.40,244.80,35.00,241.60,43.80,245.20 C43.80,245.20,46.17,244.40,46.60,240.40 C47.10,235.70,50.20,232.00,52.20,230.00 C54.20,228.00,63.80,215.20,62.60,214.80 C61.40,214.40,-5.40,222.80,-5.40,222.80 Z"]
RenderPath {path} at (288.52,357.28) size 88.86x84.42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF727F]}] [data="M-9.80,174.40 C-9.80,174.40,-12.60,196.80,-9.40,205.20 C-6.20,213.60,-7.00,215.60,-7.80,219.60 C-8.60,223.60,-4.20,233.60,1.40,239.60 L13.40,241.20 C13.40,241.20,28.60,237.60,37.80,240.40 C37.80,240.40,46.79,241.74,50.20,226.80 C50.20,226.80,55.00,220.40,62.20,217.60 C69.40,214.80,76.60,173.20,72.60,165.20 C68.60,157.20,54.20,152.80,38.20,168.40 C22.20,184.00,20.20,167.20,-9.80,174.40 Z"]
@@ -131,12 +131,12 @@
RenderPath {path} at (233.47,206.46) size 2.26x5.09 [fill={[type=SOLID] [color=#000000]}] [data="M-65.40,11.55 C-66.03,11.55,-66.53,10.41,-66.53,9.00 C-66.53,7.59,-66.03,6.45,-65.40,6.45 C-64.78,6.45,-64.27,7.59,-64.27,9.00 C-64.27,10.41,-64.78,11.55,-65.40,11.55 Z"]
RenderPath {path} at (234.60,209) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data="M-65.40,9.00 Z"]
RenderPath {path} at (178.15,295.50) size 84.25x62.42 [fill={[type=SOLID] [color=#000000]}] [data="M-111.00,109.60 C-111.00,109.60,-116.60,119.60,-91.80,113.60 C-91.80,113.60,-77.80,112.40,-75.40,110.00 C-74.20,110.80,-65.83,113.73,-63.00,114.40 C-56.20,116.00,-47.80,106.00,-47.80,106.00 C-47.80,106.00,-43.20,95.50,-40.40,95.50 C-37.60,95.50,-40.80,97.10,-40.80,97.10 C-40.80,97.10,-47.40,107.20,-47.00,108.80 C-47.00,108.80,-52.20,128.80,-68.20,129.60 C-68.20,129.60,-84.35,130.55,-83.00,136.40 C-83.00,136.40,-74.20,134.00,-71.80,136.40 C-71.80,136.40,-61.00,136.00,-69.00,142.40 L-75.80,154.00 C-75.80,154.00,-75.66,157.92,-85.80,154.40 C-95.60,151.00,-105.90,138.10,-105.90,138.10 C-105.90,138.10,-121.85,123.55,-111.00,109.60 Z"]
- RenderPath {path} at (185.80,312.80) size 60.00x43.20 [fill={[type=SOLID] [color=#E59999]}] [data="M-112.20,113.60 C-112.20,113.60,-114.20,123.20,-77.40,112.80 C-77.40,112.80,-73.00,112.80,-70.60,113.60 C-68.20,114.40,-56.20,117.20,-54.20,116.00 C-54.20,116.00,-61.40,129.60,-73.00,128.00 C-73.00,128.00,-86.20,129.60,-85.80,134.40 C-85.80,134.40,-81.80,141.60,-77.00,144.00 C-77.00,144.00,-74.20,146.40,-74.60,149.60 C-75.00,152.80,-77.80,154.40,-79.80,155.20 C-81.80,156.00,-85.00,152.80,-86.60,152.80 C-88.20,152.80,-96.60,146.40,-101.00,141.60 C-105.40,136.80,-113.80,124.80,-113.40,122.00 C-113.00,119.20,-112.20,113.60,-112.20,113.60 Z"]
+ RenderPath {path} at (185.80,312.80) size 60x43.20 [fill={[type=SOLID] [color=#E59999]}] [data="M-112.20,113.60 C-112.20,113.60,-114.20,123.20,-77.40,112.80 C-77.40,112.80,-73.00,112.80,-70.60,113.60 C-68.20,114.40,-56.20,117.20,-54.20,116.00 C-54.20,116.00,-61.40,129.60,-73.00,128.00 C-73.00,128.00,-86.20,129.60,-85.80,134.40 C-85.80,134.40,-81.80,141.60,-77.00,144.00 C-77.00,144.00,-74.20,146.40,-74.60,149.60 C-75.00,152.80,-77.80,154.40,-79.80,155.20 C-81.80,156.00,-85.00,152.80,-86.60,152.80 C-88.20,152.80,-96.60,146.40,-101.00,141.60 C-105.40,136.80,-113.80,124.80,-113.40,122.00 C-113.00,119.20,-112.20,113.60,-112.20,113.60 Z"]
RenderPath {path} at (191,326.00) size 34.80x30 [fill={[type=SOLID] [color=#B26565]}] [data="M-109.00,131.05 C-106.40,135.00,-103.20,139.20,-101.00,141.60 C-96.60,146.40,-88.20,152.80,-86.60,152.80 C-85.00,152.80,-81.80,156.00,-79.80,155.20 C-77.80,154.40,-75.00,152.80,-74.60,149.60 C-74.20,146.40,-77.00,144.00,-77.00,144.00 C-80.07,142.47,-82.81,138.98,-84.39,136.65 C-84.39,136.65,-84.20,139.20,-89.40,138.40 C-94.60,137.60,-99.80,134.80,-101.40,131.60 C-103.00,128.40,-105.40,126.00,-103.80,129.60 C-102.20,133.20,-99.80,136.80,-98.20,137.20 C-96.60,137.60,-97.00,138.80,-99.40,138.40 C-101.80,138.00,-104.60,137.60,-109.00,132.40 Z"]
RenderPath {path} at (185.80,209.63) size 57.90x104.17 [fill={[type=SOLID] [color=#992600]}] [data="M-111.60,110.00 C-111.60,110.00,-109.80,96.40,-108.60,92.40 C-108.60,92.40,-109.40,85.60,-107.00,81.40 C-104.60,77.20,-102.60,71.00,-99.60,65.60 C-96.60,60.20,-96.40,56.20,-92.40,54.60 C-88.40,53.00,-82.40,44.40,-79.60,43.40 C-76.80,42.40,-77.00,43.20,-77.00,43.20 C-77.00,43.20,-70.20,28.40,-56.60,32.40 C-56.60,32.40,-72.80,29.60,-57.00,20.20 C-57.00,20.20,-61.80,21.30,-58.50,14.30 C-56.30,9.63,-56.80,16.40,-67.80,28.20 C-67.80,28.20,-72.80,36.80,-78.00,39.80 C-83.20,42.80,-95.20,49.80,-96.40,53.60 C-97.60,57.40,-100.80,63.20,-102.80,64.80 C-104.80,66.40,-107.60,70.60,-108.00,74.00 C-108.00,74.00,-109.20,78.00,-110.60,79.20 C-112.00,80.40,-112.20,83.60,-112.20,85.60 C-112.20,87.60,-114.20,90.40,-114.00,92.80 C-114.00,92.80,-113.20,111.80,-113.60,113.80 L-111.60,110.00 Z"]
RenderPath {path} at (173.40,313.20) size 8.40x40.40 [fill={[type=SOLID] [color=#FFFFFF]}] [data="M-120.20,114.60 C-120.20,114.60,-122.20,113.20,-126.60,119.20 C-126.60,119.20,-119.30,152.20,-119.30,153.60 C-119.30,153.60,-118.20,151.50,-119.50,144.30 C-120.80,137.10,-121.70,124.40,-121.70,124.40 L-120.20,114.60 Z"]
RenderPath {path} at (166.60,251.20) size 39.30x64.50 [fill={[type=SOLID] [color=#992600]}] [data="M-98.60,54.00 C-98.60,54.00,-116.20,57.20,-115.80,86.40 L-116.60,111.20 C-116.60,111.20,-117.80,85.60,-119.00,84.00 C-120.20,82.40,-116.20,71.20,-119.40,77.20 C-119.40,77.20,-133.40,91.20,-125.40,112.40 C-125.40,112.40,-123.90,115.70,-126.90,111.10 C-126.90,111.10,-131.50,98.50,-130.40,92.10 C-130.40,92.10,-130.20,89.90,-128.30,87.10 C-128.30,87.10,-119.70,75.40,-117.00,73.10 C-117.00,73.10,-115.20,58.70,-99.80,53.50 C-99.80,53.50,-94.10,51.20,-98.60,54.00 Z"]
- RenderPath {path} at (320.04,162.42) size 25.77x48.00 [fill={[type=SOLID] [color=#000000]}] [data="M40.80,-12.20 C41.46,-12.55,41.45,-13.52,42.03,-13.70 C43.18,-14.04,43.34,-15.11,43.86,-15.89 C44.74,-17.21,44.93,-18.74,45.51,-20.24 C45.78,-20.93,45.81,-21.89,45.50,-22.55 C44.32,-25.03,43.62,-27.48,42.18,-29.91 C41.91,-30.36,41.65,-31.15,41.45,-31.75 C40.98,-33.13,39.73,-34.12,38.87,-35.44 C38.58,-35.88,39.10,-36.81,38.39,-36.89 C37.49,-37.00,36.04,-37.58,35.81,-36.55 C35.22,-33.97,36.23,-31.44,37.20,-29.00 C36.42,-28.31,36.75,-27.39,36.90,-26.62 C37.61,-23.01,36.42,-19.66,35.65,-16.19 C35.63,-16.08,35.97,-15.89,35.95,-15.82 C34.72,-13.14,33.27,-10.69,31.45,-8.31 C30.69,-7.32,29.82,-6.40,29.33,-5.34 C28.96,-4.55,28.55,-3.59,28.80,-2.60 C25.36,0.18,23.11,4.03,20.50,7.87 C20.04,8.55,20.33,9.76,20.88,10.03 C21.70,10.43,22.65,9.40,23.12,8.56 C23.51,7.86,23.86,7.21,24.36,6.57 C24.49,6.39,24.31,5.97,24.44,5.85 C27.08,3.50,28.75,0.57,31.20,-1.80 C33.15,-2.13,34.69,-3.13,36.44,-4.14 C36.74,-4.32,37.27,-4.07,37.56,-4.26 C39.31,-5.44,39.31,-7.48,39.41,-9.39 C39.46,-10.27,39.66,-11.59,40.80,-12.20 Z"]
+ RenderPath {path} at (320.04,162.42) size 25.77x48.01 [fill={[type=SOLID] [color=#000000]}] [data="M40.80,-12.20 C41.46,-12.55,41.45,-13.52,42.03,-13.70 C43.18,-14.04,43.34,-15.11,43.86,-15.89 C44.74,-17.21,44.93,-18.74,45.51,-20.24 C45.78,-20.93,45.81,-21.89,45.50,-22.55 C44.32,-25.03,43.62,-27.48,42.18,-29.91 C41.91,-30.36,41.65,-31.15,41.45,-31.75 C40.98,-33.13,39.73,-34.12,38.87,-35.44 C38.58,-35.88,39.10,-36.81,38.39,-36.89 C37.49,-37.00,36.04,-37.58,35.81,-36.55 C35.22,-33.97,36.23,-31.44,37.20,-29.00 C36.42,-28.31,36.75,-27.39,36.90,-26.62 C37.61,-23.01,36.42,-19.66,35.65,-16.19 C35.63,-16.08,35.97,-15.89,35.95,-15.82 C34.72,-13.14,33.27,-10.69,31.45,-8.31 C30.69,-7.32,29.82,-6.40,29.33,-5.34 C28.96,-4.55,28.55,-3.59,28.80,-2.60 C25.36,0.18,23.11,4.03,20.50,7.87 C20.04,8.55,20.33,9.76,20.88,10.03 C21.70,10.43,22.65,9.40,23.12,8.56 C23.51,7.86,23.86,7.21,24.36,6.57 C24.49,6.39,24.31,5.97,24.44,5.85 C27.08,3.50,28.75,0.57,31.20,-1.80 C33.15,-2.13,34.69,-3.13,36.44,-4.14 C36.74,-4.32,37.27,-4.07,37.56,-4.26 C39.31,-5.44,39.31,-7.48,39.41,-9.39 C39.46,-10.27,39.66,-11.59,40.80,-12.20 Z"]
RenderPath {path} at (327.50,162.19) size 7.98x22.49 [fill={[type=SOLID] [color=#000000]}] [data="M31.96,-16.67 C32.08,-16.74,31.93,-17.17,32.04,-17.38 C32.20,-17.71,32.60,-17.89,32.76,-18.22 C32.87,-18.43,32.71,-18.81,32.85,-18.96 C35.18,-21.40,35.44,-24.43,34.40,-27.40 C35.42,-28.02,35.49,-29.28,35.06,-30.13 C34.21,-31.83,34.01,-33.76,33.04,-35.30 C32.24,-36.57,30.66,-37.81,29.29,-36.51 C28.87,-36.11,28.55,-35.32,28.82,-34.61 C28.89,-34.45,29.17,-34.30,29.15,-34.22 C29.04,-33.89,28.49,-33.67,28.49,-33.40 C28.46,-31.90,27.50,-30.39,28.13,-29.06 C28.91,-27.43,29.72,-25.58,30.40,-23.80 C29.17,-21.68,30.20,-19.24,28.45,-17.36 C28.31,-17.21,28.32,-16.83,28.44,-16.62 C28.73,-16.14,29.14,-15.73,29.62,-15.44 C29.83,-15.32,30.17,-15.32,30.38,-15.44 C30.95,-15.80,31.35,-16.29,31.96,-16.67 Z"]
RenderPath {path} at (387.61,143.97) size 20.43x38.34 [fill={[type=SOLID] [color=#000000]}] [data="M94.77,-26.98 C96.16,-25.18,96.45,-22.39,94.40,-21.00 C94.95,-17.69,98.30,-19.67,100.40,-20.20 C100.29,-20.59,100.52,-20.93,100.80,-20.94 C101.86,-20.95,102.54,-21.98,103.60,-21.80 C104.04,-23.36,105.67,-24.06,106.32,-25.44 C108.04,-29.13,107.45,-33.41,104.87,-36.65 C104.67,-36.91,104.88,-37.42,104.76,-37.79 C104.00,-40.00,101.93,-40.31,100.00,-41.00 C98.82,-44.88,98.16,-48.91,96.40,-52.60 C94.79,-52.85,94.09,-54.59,92.75,-55.31 C91.42,-56.03,90.85,-54.45,90.89,-53.40 C90.90,-53.20,91.35,-52.97,91.18,-52.61 C91.11,-52.44,90.85,-52.33,90.85,-52.20 C90.85,-52.06,91.07,-51.93,91.20,-51.80 C90.28,-50.98,88.86,-50.50,88.57,-49.36 C87.61,-45.65,90.18,-42.52,91.85,-39.32 C92.44,-38.19,91.71,-36.92,90.95,-35.71 C90.51,-35.01,90.62,-33.89,90.89,-33.03 C91.64,-30.70,93.24,-28.96,94.77,-26.98 Z"]
RenderPath {path} at (337.06,150.03) size 54.44x47.86 [fill={[type=SOLID] [color=#000000]}] [data="M57.61,-8.59 C56.12,-6.74,52.71,-4.17,55.63,-2.24 C55.82,-2.11,56.19,-2.11,56.37,-2.24 C58.39,-3.81,60.39,-4.71,62.83,-5.29 C62.95,-5.32,63.22,-4.86,63.59,-5.02 C65.21,-5.72,67.22,-5.66,68.40,-7.00 C72.17,-6.78,75.73,-7.89,79.12,-9.20 C80.28,-9.65,81.55,-10.21,82.75,-10.71 C84.13,-11.28,85.33,-12.21,86.45,-13.35 C86.58,-13.49,86.93,-13.40,87.20,-13.40 C87.16,-14.26,88.12,-14.39,88.37,-15.01 C88.46,-15.24,88.31,-15.64,88.44,-15.74 C90.58,-17.37,91.50,-19.39,90.33,-21.77 C90.05,-22.34,89.80,-22.96,89.23,-23.44 C88.15,-24.35,87.05,-23.50,86.00,-23.80 C85.84,-23.17,85.11,-23.34,84.73,-23.15 C83.87,-22.71,82.53,-23.29,81.68,-22.85 C80.31,-22.16,79.07,-21.99,77.65,-21.61 C77.34,-21.53,76.56,-21.63,76.40,-21.00 C76.27,-21.13,76.12,-21.37,76.01,-21.35 C74.10,-20.95,72.84,-20.74,71.54,-19.04 C71.44,-18.91,71.00,-19.09,70.84,-18.95 C69.88,-18.15,69.48,-16.91,68.38,-16.24 C68.18,-16.12,67.82,-16.29,67.63,-16.16 C66.98,-15.73,66.62,-15.09,65.97,-14.64 C65.64,-14.41,65.25,-14.73,65.28,-14.99 C65.52,-16.94,66.18,-18.72,65.60,-20.60 C67.68,-23.12,70.19,-25.07,72.00,-27.80 C72.01,-29.97,72.71,-32.11,72.59,-34.19 C72.58,-34.38,72.30,-35.12,72.17,-35.46 C71.86,-36.32,72.76,-37.38,71.92,-38.11 C70.52,-39.31,69.22,-38.43,68.40,-37.00 C66.56,-36.61,64.50,-35.92,62.92,-37.15 C61.91,-37.94,61.33,-38.84,60.53,-39.90 C59.55,-41.20,59.88,-42.64,59.95,-44.20 C59.96,-44.33,59.65,-44.47,59.65,-44.60 C59.65,-44.74,59.87,-44.87,60.00,-45.00 C59.29,-45.63,59.02,-46.68,58.00,-47.00 C58.31,-48.09,57.63,-48.98,56.76,-49.28 C54.76,-49.97,53.09,-48.06,51.19,-47.98 C50.68,-47.97,50.21,-49.00,49.56,-49.33 C49.13,-49.54,48.43,-49.58,48.07,-49.31 C47.38,-48.81,46.79,-48.69,46.03,-48.49 C44.41,-48.05,43.14,-46.96,41.66,-46.10 C40.17,-45.25,39.22,-43.81,38.14,-42.49 C37.19,-41.34,37.06,-38.92,38.48,-38.42 C40.32,-37.77,41.63,-40.48,43.59,-40.15 C43.90,-40.10,44.11,-39.79,44.00,-39.40 C44.39,-39.29,44.61,-39.52,44.80,-39.80 C45.66,-38.78,46.82,-38.44,47.76,-37.57 C48.73,-36.67,50.48,-37.08,51.49,-36.09 C53.02,-34.59,52.46,-31.91,54.40,-30.60 C53.81,-29.29,53.21,-28.01,52.87,-26.58 C52.59,-25.38,53.58,-24.18,54.79,-24.27 C56.05,-24.36,56.31,-25.12,56.80,-26.20 C57.07,-25.93,57.54,-25.64,57.49,-25.42 C57.04,-23.03,56.01,-21.04,55.55,-18.61 C55.49,-18.29,55.19,-18.09,54.80,-18.20 C54.33,-14.05,50.28,-11.66,47.74,-8.49 C47.33,-7.99,47.33,-6.74,47.74,-6.34 C49.14,-4.95,51.10,-6.50,52.80,-7.00 C53.01,-8.21,53.87,-9.15,55.20,-9.09 C55.46,-9.08,55.69,-9.62,56.02,-9.75 C56.37,-9.89,56.87,-9.67,57.15,-9.87 C58.88,-11.06,60.29,-12.17,62.03,-13.36 C62.22,-13.49,62.57,-13.33,62.78,-13.44 C63.11,-13.60,63.29,-13.98,63.62,-14.17 C63.97,-14.37,64.21,-14.08,64.40,-13.80 C63.75,-13.45,63.75,-12.49,63.17,-12.29 C62.39,-12.02,61.83,-11.51,61.16,-11.06 C60.87,-10.87,60.21,-11.12,60.10,-10.94 C59.51,-9.91,58.32,-9.47,57.61,-8.59 Z"]
@@ -235,11 +235,11 @@
RenderPath {path} at (346.20,515.80) size 14.40x32.80 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M46.20,347.40 C46.20,347.40,53.60,327.00,49.20,315.80 C49.20,315.80,60.60,337.40,56.00,348.60 C56.00,348.60,55.60,338.20,51.60,333.20 C51.60,333.20,47.60,346.00,46.20,347.40 Z"]
RenderPath {path} at (321.20,517.60) size 15.60x31.40 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M31.40,344.80 C31.40,344.80,36.80,336.00,28.80,317.60 C28.80,317.60,28.00,338.00,21.20,349.00 C21.20,349.00,35.40,328.80,31.40,344.80 Z"]
RenderPath {path} at (307.60,519.80) size 14.40x26.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M21.40,342.80 C21.40,342.80,21.20,322.80,21.60,319.80 C21.60,319.80,17.80,336.40,7.60,346.00 C7.60,346.00,22.00,334.00,21.40,342.80 Z"]
- RenderPath {path} at (307.80,510.80) size 10.00x32 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M11.80,310.80 C11.80,310.80,17.80,324.40,7.80,342.80 C7.80,342.80,14.20,330.60,9.40,323.60 C9.40,323.60,12.00,320.20,11.80,310.80 Z"]
+ RenderPath {path} at (307.80,510.80) size 10x32 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M11.80,310.80 C11.80,310.80,17.80,324.40,7.80,342.80 C7.80,342.80,14.20,330.60,9.40,323.60 C9.40,323.60,12.00,320.20,11.80,310.80 Z"]
RenderPath {path} at (291.60,511.00) size 13.60x31.60 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-7.40,342.40 C-7.40,342.40,-8.40,326.80,-6.60,324.60 C-6.60,324.60,-6.40,318.20,-6.80,317.20 C-6.80,317.20,-2.80,311.00,-2.60,318.40 C-2.60,318.40,-1.20,326.20,1.60,330.80 C1.60,330.80,5.20,336.20,5.00,342.60 C5.00,342.60,-5.00,312.40,-7.40,342.40 Z"]
RenderPath {path} at (279.20,508.60) size 9.80x36 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-11.00,314.80 C-11.00,314.80,-17.60,325.60,-19.40,344.60 C-19.40,344.60,-20.80,338.40,-17.00,324.00 C-17.00,324.00,-12.80,308.60,-11.00,314.80 Z"]
RenderPath {path} at (262.80,508.40) size 14.40x26.20 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-32.80,334.60 C-32.80,334.60,-27.80,329.20,-26.40,324.20 C-26.40,324.20,-22.80,308.40,-29.20,317.00 C-29.20,317.00,-29.00,325.00,-37.20,332.40 C-37.20,332.40,-32.40,330.00,-32.80,334.60 Z"]
- RenderPath {path} at (251.80,508.00) size 15.60x29 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-38.60,329.60 C-38.60,329.60,-35.20,312.20,-34.40,311.40 C-34.40,311.40,-32.60,308.00,-35.40,311.20 C-35.40,311.20,-44.20,330.40,-48.20,337.00 C-48.20,337.00,-40.20,327.80,-38.60,329.60 Z"]
+ RenderPath {path} at (251.80,508.00) size 15.60x29.00 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-38.60,329.60 C-38.60,329.60,-35.20,312.20,-34.40,311.40 C-34.40,311.40,-32.60,308.00,-35.40,311.20 C-35.40,311.20,-44.20,330.40,-48.20,337.00 C-48.20,337.00,-40.20,327.80,-38.60,329.60 Z"]
RenderPath {path} at (245.40,490.60) size 21.80x25.80 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-44.40,313.00 C-44.40,313.00,-32.80,290.60,-54.60,316.40 C-54.60,316.40,-43.60,306.60,-44.40,313.00 Z"]
RenderPath {path} at (240.20,470.80) size 15.60x30 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M-59.80,298.40 C-59.80,298.40,-55.00,279.60,-52.40,279.80 C-52.40,279.80,-44.20,270.80,-50.80,281.40 C-50.80,281.40,-56.80,291.00,-56.20,300.80 C-56.20,300.80,-56.80,291.20,-59.80,298.40 Z"]
RenderPath {path} at (556,473.50) size 16x25.50 [fill={[type=SOLID] [color=#CCCCCC]}] [data="M270.50,287.00 C270.50,287.00,258.50,277.00,256.00,273.50 C256.00,273.50,269.50,292.00,269.50,299.00 C269.50,299.00,272.00,291.50,270.50,287.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt b/LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt
index 4b242e9..d24ddbe 100644
--- a/LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt
+++ b/LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt
@@ -159,7 +159,7 @@
RenderPath {path} at (491.62,273.44) size 22.93x30.87 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M493.04,204.26 L491.82,202.49 L491.79,201.55 L491.76,200.12 L491.72,198.08 L491.72,197.06 L491.72,196.62 L491.73,195.78 L491.74,194.56 L491.74,194.05 L493.39,191.59 L493.84,191.08 L494.15,190.98 L495.36,190.90 L495.70,190.78 L495.99,190.36 L496.50,189.86 L496.89,189.65 L497.45,189.43 L498.07,189.34 L499.77,189.39 L500.57,189.38 L501.38,188.48 L502.94,186.79 L507.03,182.58 L506.79,182.43 L504.92,182.47 L503.47,181.99 L499.21,180.55 L498.67,180.34 L498.04,180.02 L497.44,179.47 L496.71,178.67 L496.12,177.83 L495.69,177.10 L495.61,176.69 L495.97,175.88 L496.31,175.31 L496.68,174.85 L496.80,174.59 L496.95,174.63 L497.89,175.77 L498.47,176.39 L498.71,176.77 L498.98,176.98 L499.35,176.91 L499.77,176.91 L500.23,176.94 L500.61,176.87 L501.18,176.60 L502.01,176.17 L502.60,176.02 L503.00,176.11 L503.76,176.38 L504.30,176.31 L504.86,175.98 L505.64,175.42 L505.89,175.29 L506.34,175.33 L506.82,175.43 L507.24,175.39 L508.43,174.90 L508.72,174.93 L509.40,175.13 L510.14,175.10 L510.90,174.91 L511.87,174.59 L512.77,173.92 L513.24,173.54 L513.84,173.69 L514.23,173.90 L514.31,173.92 L514.46,174.18 L514.05,175.10 L514.07,175.67 L514.20,176.29 L514.03,176.74 L513.66,177.25 L513.63,177.93 L513.59,178.76 L513.42,179.27 L512.16,181.53 L511.32,182.32 L511.19,182.63 L511.30,182.99 L510.40,184.56 L509.57,185.83 L509.36,186.77 L509.00,187.41 L508.29,188.53 L507.42,189.72 L506.26,191.21 L505.88,191.65 L503.60,194.16 L501.78,195.71 L499.62,196.84 L499.02,197.22 L497.74,198.31 L496.00,200.06 L495.94,200.12 L494.89,201.22 L493.65,202.79 L493.04,203.63 L493.14,203.98 L493.05,204.26 Z"]
RenderPath {path} at (262.61,275.93) size 2.25x1.95 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M264.77,176.04 L264.64,176.26 L264.52,176.33 L264.50,176.47 L264.54,176.72 L264.48,176.80 L264.60,177.18 L264.56,177.60 L264.11,177.76 L263.98,177.75 L263.83,177.79 L263.35,177.75 L263.16,177.79 L263.07,177.74 L262.71,177.74 L262.69,177.68 L262.73,177.61 L262.93,177.58 L263.16,177.45 L263.18,177.36 L263.28,177.38 L263.44,177.39 L263.57,177.25 L263.48,176.97 L263.52,176.84 L263.55,176.66 L263.48,176.53 L263.39,176.40 L263.11,176.35 L263.23,176.26 L263.39,176.24 L263.62,176.21 L263.73,176.12 L264.12,176.14 L264.23,176.10 L264.52,176.03 L264.77,176.04 Z"]
RenderPath {path} at (653.99,288.84) size 2.60x2.44 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M654.08,190.19 L654.28,190.06 L654.91,189.95 L655.57,189.01 L655.81,188.94 L655.74,189.21 L655.86,189.29 L656.05,189.25 L656.16,189.42 L656.31,189.87 L656.28,189.98 L656.27,190.23 L656.47,190.42 L656.49,190.51 L655.26,190.93 L654.87,191.20 L654.57,190.93 L654.45,190.67 L654.22,190.68 L654.16,190.31 L654.07,190.18 Z"]
- RenderPath {path} at (474.41,289.82) size 19.06x21.12 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M493.04,204.26 L492.44,204.65 L491.89,204.82 L491.50,204.71 L491.41,205.48 L491.13,205.85 L490.46,205.96 L490.07,206.35 L489.98,206.83 L489.99,207.18 L489.63,207.80 L488.67,209.16 L488.76,209.70 L488.42,210.35 L488.17,210.60 L487.84,210.70 L487.75,210.85 L486.69,210.05 L484.26,208.29 L484.19,208.05 L484.30,207.50 L484.17,207.12 L480.61,205.14 L475.95,202.57 L474.50,202.60 L475.65,200.12 L475.75,199.90 L476.41,199.06 L477.39,198.12 L477.87,197.60 L478.30,196.90 L478.44,196.34 L478.40,195.67 L478.17,195.07 L477.95,194.71 L477.22,193.65 L477.04,193.18 L477.02,192.32 L476.89,192.09 L476.41,191.63 L476.11,191.14 L476.79,190.34 L477.08,190.01 L477.75,190.07 L478.58,190.06 L479.59,189.93 L480.06,189.91 L480.14,189.94 L480.46,190.01 L481.51,190.16 L482.26,190.35 L482.86,190.64 L485.22,192.17 L485.55,192.21 L486.92,192.34 L487.59,192.54 L488.44,192.63 L488.60,192.52 L489.31,191.76 L489.57,191.56 L490.24,191.22 L491.10,190.86 L491.37,190.96 L491.83,191.30 L492.29,191.48 L493.39,191.58 L491.74,194.05 L491.74,194.56 L491.74,195.77 L491.72,196.62 L491.72,197.06 L491.72,198.08 L491.77,200.12 L491.80,201.55 L491.82,202.48 L493.05,204.26 Z"]
+ RenderPath {path} at (474.41,289.82) size 19.06x21.11 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M493.04,204.26 L492.44,204.65 L491.89,204.82 L491.50,204.71 L491.41,205.48 L491.13,205.85 L490.46,205.96 L490.07,206.35 L489.98,206.83 L489.99,207.18 L489.63,207.80 L488.67,209.16 L488.76,209.70 L488.42,210.35 L488.17,210.60 L487.84,210.70 L487.75,210.85 L486.69,210.05 L484.26,208.29 L484.19,208.05 L484.30,207.50 L484.17,207.12 L480.61,205.14 L475.95,202.57 L474.50,202.60 L475.65,200.12 L475.75,199.90 L476.41,199.06 L477.39,198.12 L477.87,197.60 L478.30,196.90 L478.44,196.34 L478.40,195.67 L478.17,195.07 L477.95,194.71 L477.22,193.65 L477.04,193.18 L477.02,192.32 L476.89,192.09 L476.41,191.63 L476.11,191.14 L476.79,190.34 L477.08,190.01 L477.75,190.07 L478.58,190.06 L479.59,189.93 L480.06,189.91 L480.14,189.94 L480.46,190.01 L481.51,190.16 L482.26,190.35 L482.86,190.64 L485.22,192.17 L485.55,192.21 L486.92,192.34 L487.59,192.54 L488.44,192.63 L488.60,192.52 L489.31,191.76 L489.57,191.56 L490.24,191.22 L491.10,190.86 L491.37,190.96 L491.83,191.30 L492.29,191.48 L493.39,191.58 L491.74,194.05 L491.74,194.56 L491.74,195.77 L491.72,196.62 L491.72,197.06 L491.72,198.08 L491.77,200.12 L491.80,201.55 L491.82,202.48 L493.05,204.26 Z"]
RenderPath {path} at (466.11,291.07) size 12.43x12.57 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M466.20,203.27 L466.38,202.98 L466.46,202.71 L466.40,201.96 L466.43,201.23 L466.41,200.63 L466.51,200.12 L466.73,199.10 L467.13,198.42 L467.38,198.14 L468.62,197.14 L469.82,196.08 L470.01,195.62 L469.90,195.32 L469.63,195.13 L469.15,195.09 L468.96,195.07 L468.83,194.81 L469.09,192.93 L469.11,192.51 L468.95,192.33 L468.88,192.30 L469.38,192.07 L469.84,191.98 L470.34,191.99 L471.28,192.23 L472.19,192.18 L473.07,191.85 L473.95,191.72 L474.26,191.81 L474.56,192.01 L474.93,191.99 L475.55,191.68 L476.11,191.14 L476.42,191.63 L476.89,192.10 L477.02,192.32 L477.05,193.18 L477.22,193.65 L477.95,194.72 L478.17,195.07 L478.40,195.68 L478.45,196.34 L478.30,196.90 L477.87,197.60 L477.40,198.12 L476.41,199.06 L475.76,199.90 L475.65,200.13 L474.51,202.61 L469.85,202.61 L468.57,202.66 L468.25,202.67 L467.70,203.07 L467.24,203.50 L466.81,203.54 L466.26,203.32 L466.20,203.28 Z"]
RenderPath {path} at (612.02,287.62) size 101.91x35.63 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#003500]}] [data="M713.62,206.30 L713.79,214.26 L713.35,215.09 L713.78,216.45 L713.83,217.26 L713.80,220.70 L713.28,220.18 L712.35,219.30 L711.64,218.40 L711.23,218.34 L710.46,218.44 L709.72,218.58 L709.28,218.57 L709.37,218.19 L709.81,217.54 L709.82,217.26 L709.25,216.73 L708.69,215.96 L708.72,215.73 L709.16,215.84 L709.40,215.80 L709.53,215.69 L709.06,215.28 L708.47,214.87 L708.18,214.49 L707.91,213.84 L706.85,212.15 L706.34,211.76 L705.88,211.47 L705.27,211.28 L703.29,210.68 L702.03,210.30 L701.42,210.23 L700.71,209.99 L700.08,209.67 L700.16,209.33 L700.06,209.06 L699.86,209.03 L699.25,209.13 L698.86,209.06 L698.45,208.87 L698.04,208.47 L697.83,207.89 L697.96,207.40 L697.81,207.17 L697.62,207.28 L697.39,207.68 L697.26,208.34 L697.01,208.95 L696.68,209.22 L695.98,209.57 L695.83,209.41 L695.50,208.73 L695.52,208.57 L695.90,208.30 L695.75,207.88 L695.58,207.64 L695.01,207.25 L694.31,206.85 L693.97,206.80 L693.91,206.58 L693.95,206.36 L694.36,206.31 L694.75,206.40 L695.35,206.64 L695.51,206.61 L695.88,206.27 L696.40,205.86 L696.55,205.91 L696.85,206.18 L697.87,206.14 L698.01,206.01 L698.10,205.49 L698.04,205.08 L697.80,205.11 L697.45,205.31 L696.85,205.38 L696.19,205.34 L695.43,205.38 L694.40,205.30 L693.99,204.99 L693.85,204.79 L693.71,204.13 L693.51,203.79 L693.09,203.63 L691.84,203.51 L692.10,203.21 L692.16,202.96 L692.16,202.37 L692.63,202.34 L693.55,201.93 L694.04,201.54 L694.48,201.26 L694.83,201.29 L695.23,201.35 L696.73,202.00 L697.24,202.17 L698.15,202.32 L698.54,203.03 L698.67,203.42 L698.39,204.17 L698.32,204.55 L698.54,204.93 L698.66,205.43 L698.78,205.91 L698.99,206.43 L699.18,206.63 L699.37,206.75 L699.60,206.10 L699.68,206.22 L699.77,206.36 L700.08,207.43 L700.25,207.60 L700.48,207.78 L700.78,207.90 L701.13,207.95 L701.71,207.75 L702.22,207.31 L703.41,205.46 L703.76,205.45 L704.84,205.23 L705.22,205.09 L705.26,205.00 L705.27,204.49 L705.49,204.32 L706.59,203.72 L706.93,203.67 L708.66,204.43 L710.79,205.37 L712.33,205.89 L713.63,206.30 Z M691.21,208.71 L690.82,208.64 L690.13,208.26 L689.28,207.61 L688.98,207.47 L688.57,207.50 L688.51,207.60 L688.53,208.05 L688.33,208.08 L687.31,207.67 L687.05,207.32 L686.47,207.52 L686.18,207.79 L685.86,207.97 L685.67,207.79 L685.36,207.34 L685.11,206.88 L685.36,206.69 L685.66,206.66 L685.94,206.71 L687.04,206.75 L687.61,207.06 L687.93,207.05 L688.48,206.72 L688.89,206.71 L689.42,206.83 L690.28,207.04 L690.78,207.44 L691.07,207.83 L691.25,208.46 L691.20,208.71 Z M682.04,208.70 L681.63,208.64 L680.91,208.15 L680.68,207.70 L680.83,207.42 L681.43,207.32 L682.19,207.27 L682.44,207.40 L682.70,207.71 L683.01,207.91 L683.12,208.13 L683.05,208.36 L682.92,208.41 L682.05,208.70 Z M707.64,219.10 L706.53,218.89 L707.11,217.85 L707.67,217.15 L708.08,216.88 L708.51,216.80 L709.03,217.14 L709.23,217.38 L709.12,217.57 L708.80,218.20 L708.54,218.37 L707.91,219.07 L707.64,219.10 Z M673.80,218.70 L673.23,218.96 L673.27,219.19 L672.38,219.52 L671.80,219.79 L671.46,219.75 L671.01,220.08 L670.51,220.01 L670.08,219.90 L669.70,220.15 L669.40,220.21 L669.04,220.14 L668.46,219.94 L667.42,219.90 L667.10,219.95 L666.89,219.38 L666.92,219.14 L667.30,218.94 L667.97,218.74 L668.50,218.73 L669.64,219.14 L670.09,219.46 L670.42,219.47 L670.75,219.18 L671.21,219.16 L671.64,219.09 L672.06,219.28 L672.52,219.16 L672.45,218.94 L672.87,218.75 L673.28,218.52 L673.37,218.37 L673.29,218.25 L673.11,218.27 L673.23,218.07 L673.39,218.09 L673.61,218.18 L673.78,218.40 L673.80,218.71 Z M662.66,219.07 L662.35,218.97 L662.15,218.84 L662.08,218.67 L662.11,218.46 L662.37,218.26 L662.68,218.22 L662.85,218.32 L662.91,218.53 L663.09,218.63 L663.40,218.48 L663.73,218.59 L663.84,218.74 L663.83,219.19 L664.01,219.04 L664.17,218.74 L664.49,218.71 L664.72,218.93 L664.74,219.36 L664.92,219.32 L664.98,219.43 L664.96,219.82 L664.64,219.61 L664.33,219.55 L664.19,219.61 L664.26,219.77 L663.41,219.92 L663.27,219.83 L663.36,219.56 L663.28,219.51 L662.97,219.77 L662.74,220.03 L662.45,219.98 L661.82,220.21 L661.19,220.41 L660.84,220.36 L660.53,220.48 L660.13,220.41 L660.03,220.34 L659.83,220.22 L659.77,219.94 L659.91,219.68 L659.83,219.42 L660.02,219.31 L660.25,219.20 L660.48,219.04 L660.71,219.11 L661.32,219.12 L661.72,219.23 L661.81,219.51 L662.10,219.62 L662.39,219.67 L662.58,219.41 L662.87,219.40 L662.92,219.21 L662.66,219.06 Z M656.29,219.60 L655.90,219.32 L655.05,218.87 L654.93,218.60 L655.34,218.60 L655.86,218.42 L656.32,218.39 L657.25,218.91 L656.91,219.08 L656.68,219.18 L656.29,219.60 Z M631.05,200.12 L630.99,200.35 L630.58,200.79 L630.38,201.20 L629.99,201.55 L630.16,201.91 L630.32,202.07 L631.13,202.57 L631.96,202.62 L632.20,202.74 L632.35,203.12 L632.48,203.88 L632.47,204.29 L632.74,204.71 L632.95,204.84 L633.49,204.88 L633.04,205.81 L633.20,206.02 L633.90,205.57 L634.72,205.82 L634.90,205.87 L635.16,206.12 L635.31,206.56 L636.01,207.23 L635.49,209.21 L635.45,209.66 L635.68,210.61 L635.66,211.05 L635.68,211.71 L635.68,211.98 L635.53,213.04 L635.44,213.20 L635.34,213.27 L634.97,213.01 L634.59,212.49 L634.33,212.41 L634.07,212.89 L633.98,213.16 L632.94,212.54 L632.72,212.62 L633.12,213.37 L632.95,213.58 L632.75,213.39 L631.41,211.96 L630.63,211.20 L629.62,210.34 L628.27,209.38 L627.88,208.93 L627.68,208.44 L627.49,208.10 L626.49,207.47 L625.79,206.79 L624.60,205.28 L624.53,204.93 L624.57,204.59 L624.25,203.71 L623.41,202.25 L622.74,201.20 L622.13,200.43 L621.76,200.13 L621.47,199.89 L620.83,199.60 L620.58,198.85 L619.89,197.04 L619.96,196.80 L619.85,196.49 L619.69,196.30 L619.03,195.79 L618.32,195.40 L617.78,195.19 L617.46,195.09 L617.34,194.73 L617.27,194.00 L617.09,193.59 L616.70,193.11 L615.88,192.28 L615.51,191.86 L614.79,191.99 L614.18,191.31 L613.53,190.70 L612.94,190.01 L612.38,189.07 L612.15,188.43 L612.11,188.07 L612.17,187.87 L612.32,187.76 L612.72,187.71 L613.09,187.81 L613.34,187.94 L613.97,188.50 L614.33,188.65 L615.25,188.81 L615.59,188.84 L616.13,188.74 L616.59,188.59 L616.99,188.58 L617.31,188.89 L618.23,190.04 L618.74,190.35 L618.80,190.51 L618.68,191.05 L619.75,191.96 L620.49,192.46 L621.67,193.14 L622.35,193.47 L622.49,193.64 L622.52,194.23 L622.50,194.38 L623.07,194.44 L623.82,195.38 L624.43,195.93 L624.70,195.92 L624.70,195.72 L624.58,195.49 L624.65,195.25 L625.16,195.46 L625.63,196.27 L626.08,196.65 L626.52,196.70 L626.95,196.90 L627.26,197.27 L627.54,198.00 L627.86,198.44 L628.29,198.71 L628.80,198.83 L629.57,198.91 L630.00,199.07 L630.49,199.45 L631.07,200.05 L631.05,200.13 Z M684.20,200.12 L684.19,199.95 L683.78,198.90 L683.96,198.34 L683.88,198.20 L683.74,197.91 L683.78,197.58 L684.06,196.69 L684.58,195.87 L684.84,196.24 L684.99,196.59 L684.94,196.88 L684.69,197.27 L684.33,198.03 L684.39,198.36 L684.58,198.50 L684.68,198.36 L685.11,197.95 L685.25,197.43 L685.43,197.28 L686.23,196.87 L686.38,197.01 L686.32,197.27 L686.43,197.82 L686.07,198.03 L685.61,198.38 L685.45,198.69 L685.60,198.79 L686.05,198.92 L686.45,199.13 L686.43,199.27 L686.59,199.62 L685.90,199.47 L685.47,199.32 L685.10,199.27 L684.80,199.43 L684.72,199.87 L684.77,200.13 L684.90,200.81 L685.24,201.43 L685.65,201.87 L685.84,202.15 L685.69,202.37 L685.43,202.15 L684.76,201.51 L684.21,200.77 L684.21,200.38 L684.20,200.13 Z M637.36,207.14 L636.50,206.75 L636.12,206.51 L635.92,206.14 L635.87,205.78 L635.72,205.38 L635.21,204.99 L634.92,204.89 L634.47,204.92 L634.35,204.78 L634.63,204.13 L634.86,203.89 L635.37,204.44 L635.52,203.97 L635.83,203.70 L635.90,204.10 L636.21,204.99 L636.86,205.80 L637.56,206.11 L637.29,206.30 L637.18,206.58 L637.36,207.14 Z M634.32,215.35 L634.23,215.16 L634.55,215.13 L634.95,215.23 L635.32,215.10 L635.39,214.57 L635.40,214.43 L635.71,214.49 L635.67,213.99 L635.89,213.76 L635.98,213.48 L636.19,213.60 L636.82,213.71 L637.29,213.67 L637.53,214.11 L638.05,214.02 L638.21,213.72 L638.23,213.48 L638.49,213.60 L639.11,213.76 L639.52,214.20 L639.86,214.15 L640.06,214.43 L640.51,214.40 L640.96,214.21 L641.26,214.42 L641.63,214.95 L641.81,215.47 L642.70,215.51 L643.16,215.70 L643.65,215.62 L645.08,215.74 L645.56,215.71 L645.90,215.54 L646.11,214.89 L646.39,214.62 L646.83,214.61 L647.05,214.82 L647.34,215.31 L647.98,215.44 L648.51,215.47 L649.28,215.55 L650.08,215.70 L650.37,215.94 L650.66,216.23 L650.58,216.68 L650.85,217.14 L650.97,217.24 L651.85,217.59 L652.27,217.66 L652.93,217.67 L653.38,217.49 L653.79,217.47 L654.42,217.71 L654.47,217.91 L654.22,218.33 L654.06,218.83 L654.64,219.60 L654.14,219.39 L653.34,219.20 L652.74,218.94 L651.85,218.63 L651.32,218.64 L650.73,218.89 L650.39,218.95 L649.67,218.85 L648.22,218.71 L646.75,218.57 L645.94,218.32 L645.10,217.84 L644.01,217.51 L642.88,217.24 L641.93,217.20 L641.38,217.50 L640.93,217.54 L639.97,217.39 L639.17,216.90 L638.81,216.83 L637.21,216.76 L636.84,216.60 L636.90,216.46 L637.35,216.00 L636.94,215.73 L636.39,215.63 L635.89,215.49 L635.58,215.46 L634.32,215.34 Z M675.00,223.09 L675.25,222.60 L675.28,222.06 L675.39,221.75 L676.06,221.27 L677.51,220.64 L678.17,220.19 L678.53,219.58 L679.00,219.43 L680.58,219.32 L681.49,219.11 L682.03,219.07 L682.90,218.92 L683.01,218.99 L683.11,219.19 L682.88,219.40 L682.52,219.66 L680.91,220.27 L679.54,220.71 L678.83,220.96 L678.22,221.32 L677.13,222.28 L676.48,222.76 L676.04,222.85 L675.48,223.08 L675.01,223.09 Z M667.87,223.15 L667.65,223.08 L666.73,222.48 L665.93,222.02 L665.59,221.93 L665.09,221.80 L664.80,221.60 L664.91,221.39 L665.28,221.25 L666.27,221.22 L666.77,221.10 L667.12,221.40 L668.27,222.15 L668.53,222.53 L668.41,222.85 L668.16,223.09 L667.86,223.15 Z M661.82,191.24 L661.78,191.33 L662.10,192.02 L661.87,192.16 L661.32,192.21 L660.74,192.29 L660.94,192.52 L661.05,192.82 L660.89,193.04 L661.10,193.25 L661.34,193.36 L661.88,194.20 L662.42,194.94 L662.46,195.14 L662.12,195.86 L662.20,196.09 L662.60,196.55 L663.35,197.00 L663.95,197.50 L664.50,198.26 L664.03,198.43 L663.28,198.40 L662.49,198.16 L662.15,198.26 L661.76,198.73 L661.41,199.65 L661.33,200.12 L661.28,200.40 L661.41,201.04 L661.53,201.47 L661.40,202.32 L661.14,202.32 L660.68,202.16 L659.64,203.13 L659.21,203.78 L658.46,204.38 L658.90,204.76 L658.96,205.16 L659.13,205.46 L658.44,205.51 L658.90,206.09 L658.90,206.30 L658.80,206.53 L658.25,207.20 L658.05,207.59 L657.92,207.95 L657.39,208.54 L656.10,209.15 L655.49,209.43 L655.20,209.63 L655.01,209.32 L655.03,208.90 L654.70,208.09 L654.39,207.71 L654.13,207.53 L653.84,207.56 L653.34,208.08 L653.04,208.11 L652.71,207.60 L652.40,207.40 L651.96,207.29 L651.57,206.84 L651.23,206.69 L650.88,207.49 L650.74,207.69 L650.36,207.75 L650.01,207.64 L649.57,207.77 L649.25,208.12 L648.88,208.19 L648.83,207.64 L648.86,207.33 L648.54,206.30 L648.21,206.70 L646.79,207.13 L646.47,206.73 L645.83,206.74 L645.55,206.90 L645.24,206.93 L645.19,206.28 L645.16,205.63 L644.90,204.22 L644.89,203.74 L644.53,202.99 L644.13,202.58 L643.34,202.16 L643.19,202.02 L643.75,201.66 L643.22,201.28 L642.96,200.99 L643.15,200.25 L643.07,200.12 L642.79,199.65 L642.44,199.35 L642.51,198.88 L642.38,198.29 L642.56,197.64 L642.70,197.29 L643.12,196.71 L643.42,195.90 L643.74,195.93 L643.95,196.04 L644.23,196.83 L644.49,197.13 L645.49,198.11 L645.79,198.19 L646.24,198.47 L647.16,198.06 L647.42,198.06 L647.95,198.28 L648.49,198.39 L648.89,198.22 L649.42,197.88 L649.82,197.35 L650.35,196.91 L650.83,196.84 L651.26,196.95 L651.82,197.20 L652.34,197.42 L652.90,197.57 L653.19,197.54 L653.65,197.19 L654.12,197.01 L654.98,196.84 L655.37,196.54 L656.30,194.76 L656.22,194.01 L656.44,193.67 L657.09,193.42 L657.31,193.04 L657.20,192.05 L657.32,191.49 L657.70,190.85 L657.95,190.69 L658.41,190.68 L659.16,190.76 L659.81,190.84 L660.43,190.82 L660.88,190.86 L661.63,191.15 L661.82,191.24 Z M666.56,200.12 L666.57,200.08 L667.05,198.89 L667.49,198.48 L667.78,198.34 L668.21,198.67 L668.49,198.36 L668.66,198.04 L668.95,197.56 L669.45,197.50 L670.05,197.64 L670.78,198.17 L671.23,198.20 L672.09,198.16 L672.57,198.32 L673.32,198.59 L673.89,198.37 L675.75,198.45 L676.47,198.32 L677.09,197.96 L677.30,197.68 L677.15,197.41 L677.34,197.13 L677.73,196.89 L678.03,196.48 L678.32,196.42 L678.39,196.66 L678.32,197.20 L678.20,197.51 L678.12,197.64 L678.04,197.76 L677.07,199.02 L676.65,199.42 L676.19,199.52 L674.96,199.75 L674.47,199.68 L673.87,199.26 L672.72,199.19 L671.57,199.25 L670.70,199.21 L669.66,199.25 L669.08,199.17 L668.41,199.20 L668.00,199.30 L667.56,199.67 L667.30,200.13 L667.15,200.40 L666.96,201.12 L667.03,201.60 L667.29,202.10 L667.49,202.28 L667.89,202.51 L668.15,202.70 L668.37,203.31 L668.55,203.46 L668.78,203.50 L669.59,203.53 L669.84,203.26 L670.49,202.29 L670.88,202.34 L671.18,202.52 L671.68,202.57 L672.04,202.34 L672.71,202.18 L673.33,202.04 L673.60,201.74 L673.87,201.68 L674.34,201.88 L674.47,202.09 L674.39,202.83 L673.92,202.56 L673.37,202.52 L673.01,202.82 L672.62,203.34 L672.18,203.76 L671.12,204.20 L670.91,204.53 L670.77,204.56 L670.53,204.51 L670.06,204.39 L670.03,204.44 L670.05,204.76 L670.27,204.88 L670.94,205.46 L671.41,205.98 L672.26,207.22 L672.17,207.55 L672.01,208.23 L672.11,208.63 L672.56,209.17 L673.11,209.61 L673.18,209.83 L673.13,210.12 L672.70,210.06 L672.04,210.12 L671.63,210.41 L671.41,211.11 L670.91,211.08 L670.45,210.90 L670.34,210.73 L670.39,210.08 L670.60,209.50 L669.62,208.65 L669.20,208.34 L669.03,208.07 L669.06,207.84 L669.35,207.44 L669.46,206.86 L669.30,206.37 L668.56,206.31 L668.06,206.52 L667.57,206.92 L667.72,207.27 L667.87,208.21 L667.80,208.71 L667.56,209.86 L667.93,210.76 L667.92,211.07 L667.54,211.71 L667.52,211.94 L667.80,212.50 L667.07,212.67 L666.56,212.91 L666.08,212.98 L665.84,212.66 L665.68,212.14 L665.83,211.81 L666.01,211.35 L666.08,210.47 L666.14,209.40 L666.02,208.89 L666.05,208.55 L665.83,208.15 L665.52,208.03 L665.13,208.20 L664.56,208.23 L664.57,207.82 L664.32,206.53 L664.45,206.22 L664.94,205.70 L665.41,204.92 L665.57,204.44 L665.48,203.52 L665.47,203.27 L665.56,202.82 L665.90,202.10 L666.35,202.04 L666.30,201.18 L666.56,200.12 Z"]
RenderPath {path} at (239.29,114.25) size 133.46x53.11 [stroke={[type=SOLID] [color=#808080] [stroke width=0.20]}] [fill={[type=SOLID] [color=#C0C0C0]}] [data="M341.05,41.07 L343.13,41.34 L343.48,41.70 L342.61,41.88 L342.07,42.01 L340.39,42.12 L339.23,42.16 L338.54,42.31 L338.17,42.54 L337.86,43.14 L337.50,43.51 L338.55,43.90 L339.52,44.07 L341.64,44.14 L342.24,44.13 L344.02,43.89 L345.95,43.85 L346.81,43.99 L347.74,44.21 L348.16,44.34 L348.45,44.33 L349.45,44.32 L350.72,44.36 L351.34,44.41 L350.06,45.03 L348.48,45.49 L346.50,46.01 L345.95,46.00 L345.25,45.88 L344.30,46.55 L343.24,47.05 L341.99,47.51 L340.87,47.80 L340.66,47.86 L338.45,47.91 L337.92,48.05 L337.42,48.05 L336.44,48.25 L335.77,48.42 L335.24,48.47 L334.30,48.05 L333.92,48.10 L333.23,49.02 L332.27,49.13 L331.64,49.07 L330.90,48.87 L330.28,48.41 L329.42,47.98 L328.78,47.76 L328.67,47.76 L328.68,47.96 L329.38,49.01 L329.19,49.26 L328.87,49.27 L328.18,49.52 L327.34,49.77 L326.77,50.15 L325.77,51.06 L325.11,51.71 L324.06,52.56 L323.29,52.83 L322.25,52.91 L321.23,52.63 L321.08,53.19 L320.64,53.76 L319.86,54.03 L318.87,53.94 L318.25,53.99 L317.07,54.43 L318.01,52.71 L317.89,52.72 L317.10,52.71 L316.04,52.53 L316.30,52.95 L316.28,53.41 L315.89,53.82 L315.10,54.21 L313.94,54.37 L312.96,54.37 L311.71,54.46 L312.17,54.86 L312.39,55.26 L312.30,55.65 L311.92,55.74 L311.60,55.68 L311.13,55.72 L309.33,55.56 L309.85,55.88 L310.62,56.34 L310.91,56.69 L310.90,56.92 L310.64,57.09 L309.45,57.12 L308.39,57.25 L309.24,57.67 L309.71,57.79 L310.16,58.01 L310.55,58.35 L309.99,58.81 L309.71,58.92 L309.11,58.83 L308.63,58.92 L308.97,59.40 L308.96,59.52 L308.50,60.00 L308.02,59.88 L307.43,59.81 L307.46,59.97 L307.71,60.43 L307.61,60.78 L307.32,60.78 L306.67,60.68 L306.58,60.67 L305.60,60.78 L304.52,60.80 L305.20,61.28 L306.31,61.67 L306.64,61.88 L306.56,62.91 L306.18,63.85 L305.75,63.94 L304.94,63.88 L305.43,64.47 L305.41,64.97 L305.57,65.21 L305.50,65.58 L305.18,65.64 L304.69,65.61 L303.92,65.69 L304.68,66.08 L305.11,66.68 L304.99,67.13 L304.70,67.16 L303.74,66.90 L302.68,66.39 L302.19,66.68 L301.76,67.29 L301.13,66.69 L301.28,66.11 L300.90,65.91 L299.77,65.73 L299.20,65.42 L299.24,65.23 L299.49,64.98 L299.55,64.76 L299.23,64.49 L298.86,64.30 L298.20,64.66 L297.92,64.67 L297.62,64.82 L297.18,64.77 L296.20,64.83 L295.78,64.85 L295.21,65.15 L294.73,65.43 L294.31,65.02 L294.20,64.67 L293.98,64.45 L293.47,64.22 L292.65,63.98 L291.88,63.60 L291.36,62.81 L291.43,62.08 L291.23,61.92 L290.80,61.83 L290.33,61.88 L289.36,61.61 L289.25,61.51 L289.11,61.28 L289.26,60.82 L289.71,60.43 L289.79,60.16 L289.53,60.10 L288.98,60.06 L288.43,59.97 L288.16,59.75 L288.10,59.12 L287.64,58.99 L287.02,59.04 L286.43,58.47 L286.46,58.28 L286.66,58.03 L287.27,57.66 L288.49,57.32 L288.90,57.02 L289.38,56.89 L289.43,56.51 L289.15,56.22 L288.68,56.32 L287.76,56.40 L287.26,56.49 L286.63,56.91 L286.09,57.04 L285.46,57.34 L285.12,57.03 L285.16,56.40 L285.04,55.62 L284.84,55.17 L284.85,54.81 L284.61,54.49 L284.11,54.57 L283.83,54.54 L283.17,54.19 L282.58,53.70 L282.56,53.34 L283.40,52.81 L283.67,52.82 L283.11,52.63 L282.03,52.70 L281.93,52.42 L282.31,52.24 L282.99,52.21 L283.57,52.16 L284.03,52.07 L284.35,51.40 L283.14,51.35 L282.57,51.40 L282.21,51.37 L281.92,51.21 L281.80,51.01 L282.03,50.73 L282.24,50.72 L282.42,50.56 L282.85,50.51 L282.48,50.32 L281.92,50.39 L281.70,50.14 L281.76,49.96 L281.83,49.82 L282.09,49.82 L282.40,49.72 L283.23,49.47 L284.45,49.56 L285.30,49.72 L286.08,49.75 L286.45,49.88 L287.38,50.03 L288.41,50.12 L288.38,49.76 L288.68,49.22 L288.38,49.03 L287.36,48.77 L286.00,48.46 L285.10,48.29 L283.51,47.97 L283.15,47.85 L283.49,47.50 L284.28,47.50 L285.74,47.86 L286.77,47.91 L287.24,47.84 L287.35,47.78 L287.44,47.17 L287.53,46.87 L288.12,46.84 L288.65,46.96 L288.88,46.85 L288.85,46.50 L288.65,46.32 L287.76,46.00 L287.93,45.57 L288.45,45.11 L288.20,44.83 L286.99,44.66 L285.83,44.66 L284.65,44.37 L283.01,43.88 L282.23,43.78 L281.32,43.73 L280.56,43.39 L279.75,42.92 L279.91,42.88 L280.23,42.73 L280.83,42.72 L281.41,42.71 L283.49,43.01 L284.21,43.04 L285.46,43.35 L286.91,43.81 L287.64,43.98 L287.69,43.67 L287.38,43.24 L286.52,42.70 L286.35,42.25 L285.75,41.81 L285.26,41.76 L284.58,41.51 L284.95,41.24 L285.49,41.10 L285.64,41.00 L284.94,40.76 L283.84,40.74 L283.21,40.66 L282.08,40.33 L281.20,40.94 L280.88,41.10 L280.60,41.39 L279.73,41.63 L278.33,41.57 L277.30,41.22 L276.99,40.98 L276.96,40.69 L277.40,40.37 L277.69,39.73 L277.54,38.47 L278.12,38.42 L278.82,38.61 L279.19,38.48 L279.34,38.15 L278.95,37.78 L278.02,37.24 L277.57,37.10 L276.62,36.30 L275.73,35.37 L274.62,34.08 L274.05,33.60 L272.19,33.22 L271.52,32.97 L271.23,32.76 L271.18,32.06 L270.28,31.66 L269.32,31.55 L267.73,31.38 L265.80,30.96 L263.89,30.62 L261.76,30.44 L260.77,30.39 L259.13,30.35 L258.35,30.54 L257.30,30.64 L256.50,30.83 L255.08,30.98 L253.85,30.81 L252.39,30.52 L252.71,31.26 L252.66,31.36 L251.61,31.34 L250.32,31.16 L247.15,30.54 L248.68,29.98 L249.15,29.86 L249.06,29.64 L248.63,29.47 L247.57,29.45 L245.36,29.44 L244.54,29.36 L243.91,29.34 L242.68,28.91 L241.81,28.70 L242.39,28.40 L243.65,28.36 L246.69,28.50 L248.71,28.54 L250.05,28.55 L252.17,28.40 L253.23,28.18 L253.52,28.09 L253.57,27.74 L252.95,27.46 L252.13,27.25 L250.91,27.40 L249.80,27.66 L248.49,27.68 L247.35,27.56 L246.60,27.64 L245.72,27.74 L245.04,27.68 L244.18,27.49 L243.52,27.13 L242.70,26.94 L242.04,26.88 L241.31,26.94 L240.83,26.86 L239.41,26.38 L239.37,26.03 L239.73,25.58 L240.54,25.46 L241.77,25.36 L243.29,25.22 L245.36,25.06 L246.65,24.98 L247.60,24.58 L248.69,24.33 L249.54,24.25 L252.01,24.24 L253.12,24.14 L255.06,24.17 L255.46,24.04 L255.77,23.84 L256.38,23.68 L256.58,23.02 L256.86,22.52 L256.97,22.42 L256.08,22.19 L254.14,22.15 L252.98,22.34 L252.02,22.22 L250.78,21.84 L251.37,21.06 L252.75,20.72 L255.60,20.36 L257.01,20.14 L258.97,19.89 L261.08,19.73 L262.24,19.82 L263.46,19.75 L264.77,19.67 L265.12,19.49 L265.13,19.27 L264.77,18.51 L264.75,18.31 L265.27,18.17 L267.16,18.12 L268.69,18.32 L270.83,18.73 L272.12,18.96 L272.92,19.14 L273.75,18.86 L272.09,18.34 L271.39,17.83 L271.56,17.78 L273.76,17.66 L274.93,17.54 L276.78,17.33 L279.30,17.13 L280.03,17.20 L281.10,17.32 L281.33,19.05 L282.24,18.89 L282.78,18.57 L283.21,17.57 L284.21,17.59 L286.22,17.91 L288.08,18.33 L289.61,18.58 L289.81,18.28 L289.17,17.98 L288.35,17.44 L287.46,17.04 L287.75,16.75 L288.49,16.77 L290.25,16.80 L291.39,17.01 L294.14,17.38 L295.42,17.66 L297.53,17.98 L299.41,18.25 L301.28,18.46 L302.08,18.25 L302.90,16.77 L302.57,16.58 L301.28,16.24 L300.11,15.71 L300.81,15.46 L303.22,15.46 L306.18,15.13 L307.51,15.05 L309.04,15.22 L311.26,15.71 L312.82,15.88 L314.83,16.02 L315.13,15.26 L314.83,14.79 L317.48,14.58 L319.50,14.50 L322.08,14.60 L324.07,14.74 L325.96,14.56 L328.33,14.35 L330.37,14.35 L332.23,14.57 L334.05,14.52 L335.37,14.59 L335.99,14.69 L336.54,14.59 L338.48,14.73 L340.19,14.78 L341.86,14.87 L344.30,15.64 L345.67,15.88 L347.02,15.80 L348.13,15.97 L350.73,16.20 L351.17,16.61 L350.87,16.73 L350.38,16.92 L348.69,17.07 L346.39,17.19 L345.24,17.32 L344.01,17.37 L342.54,17.30 L339.70,17.23 L337.48,17.17 L336.10,17.34 L334.48,17.36 L332.55,17.39 L331.39,17.42 L329.90,17.58 L329.46,17.70 L328.14,17.92 L327.80,18.38 L328.55,18.63 L331.10,18.35 L332.46,18.28 L336.38,18.32 L338.60,18.19 L340.93,18.19 L341.93,18.17 L342.86,18.23 L344.63,18.67 L345.30,18.76 L346.39,18.57 L348.05,18.36 L349.58,18.08 L351.55,17.93 L352.14,18.40 L351.57,18.88 L349.26,19.52 L348.28,19.86 L347.00,20.59 L347.12,20.90 L347.44,21.05 L348.24,20.96 L348.71,20.92 L350.33,20.36 L352.10,19.83 L353.51,19.44 L355.21,19.12 L355.99,18.91 L357.65,18.75 L359.27,18.86 L360.66,18.93 L362.16,18.63 L362.86,18.30 L363.99,18.07 L366.14,18.07 L367.81,18.18 L368.91,18.22 L370.10,18.36 L371.24,18.58 L372.35,18.70 L372.66,18.95 L372.48,19.22 L370.51,19.47 L369.02,19.61 L367.77,20.10 L367.22,20.39 L365.61,20.75 L364.04,21.30 L362.98,21.39 L362.06,21.34 L360.47,21.39 L358.26,21.35 L356.77,21.55 L356.04,21.77 L355.54,22.30 L355.71,22.62 L357.66,22.32 L359.24,22.27 L361.09,22.37 L361.10,22.79 L360.35,23.03 L357.96,23.16 L357.50,23.30 L357.29,23.50 L357.13,24.09 L356.66,24.80 L355.98,24.96 L354.92,24.88 L354.18,24.92 L353.35,25.82 L352.36,26.91 L352.21,27.26 L352.66,27.57 L353.07,27.66 L353.67,27.18 L354.41,26.81 L355.27,26.77 L357.61,27.04 L357.96,27.13 L358.23,27.42 L358.17,27.63 L356.93,27.56 L356.26,27.54 L355.75,27.64 L355.61,27.83 L355.90,28.11 L357.66,28.30 L358.21,28.43 L360.02,28.30 L360.54,28.50 L360.76,28.83 L360.71,29.26 L360.45,29.40 L358.62,29.21 L356.96,29.16 L356.18,29.08 L354.89,29.16 L353.51,29.64 L352.68,29.50 L352.19,29.35 L351.13,29.40 L350.85,29.77 L352.24,30.37 L353.43,30.59 L354.73,30.72 L356.39,30.79 L357.09,30.94 L357.64,31.42 L357.91,31.87 L357.93,32.42 L357.49,32.83 L357.11,32.90 L355.82,32.72 L355.00,32.61 L354.62,32.72 L354.65,33.27 L354.77,33.51 L355.19,33.67 L355.81,33.76 L356.53,33.97 L357.45,34.12 L358.20,34.28 L358.58,34.65 L358.24,34.88 L357.41,35.03 L356.76,35.15 L355.02,35.12 L353.84,35.04 L352.22,34.95 L351.62,35.40 L352.18,35.59 L353.57,35.64 L354.62,35.80 L355.35,36.05 L355.44,36.37 L355.40,36.92 L355.27,36.91 L354.18,36.87 L352.93,36.98 L352.34,37.24 L351.09,37.26 L349.86,37.12 L348.37,36.72 L347.45,36.24 L347.07,36.17 L345.98,36.46 L345.00,36.81 L343.92,36.90 L343.33,37.08 L341.88,37.05 L340.96,36.96 L339.99,37.10 L339.60,37.23 L339.42,37.51 L339.43,37.65 L339.79,38.18 L340.49,38.42 L341.78,38.47 L343.29,38.73 L344.86,38.68 L346.18,39.22 L346.94,39.44 L347.42,39.67 L348.62,40.00 L349.87,40.38 L350.25,40.65 L350.73,41.55 L351.62,41.34 L351.90,41.21 L352.30,41.41 L352.60,41.84 L352.67,42.19 L352.86,43.35 L352.70,43.56 L352.33,43.67 L351.78,43.57 L351.24,43.46 L350.32,43.46 L349.28,43.49 L347.79,43.22 L347.15,42.81 L346.74,42.18 L346.39,41.91 L345.22,41.34 L344.38,41.05 L343.63,40.91 L342.53,40.83 L342.01,40.97 L341.05,41.07 Z M351.36,40.03 L349.84,39.49 L348.88,39.26 L348.17,39.11 L348.01,39.04 L347.69,38.62 L349.18,38.58 L350.07,38.72 L351.13,38.98 L351.95,39.28 L352.11,39.76 L351.90,39.97 L351.37,40.03 Z M281.57,46.13 L281.01,46.00 L280.30,45.68 L279.50,45.50 L279.30,45.40 L279.05,45.18 L278.97,44.34 L279.26,44.00 L279.63,43.98 L280.27,44.12 L281.43,44.18 L282.72,44.45 L283.46,44.72 L284.06,44.82 L284.84,45.04 L285.44,45.37 L285.30,45.57 L285.18,45.61 L284.64,45.66 L283.87,45.69 L283.10,45.88 L282.09,46.03 L281.58,46.13 Z"]
diff --git a/LayoutTests/platform/mac/svg/text/text-align-01-b-expected.txt b/LayoutTests/platform/mac/svg/text/text-align-01-b-expected.txt
index f1cf1fa..b62da71 100644
--- a/LayoutTests/platform/mac/svg/text/text-align-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-align-01-b-expected.txt
@@ -19,14 +19,14 @@
RenderSVGText {text} at (0,0) size 217x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 217x33
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 17 width 217.00: "text-anchor:start"
- RenderSVGContainer {g} at (175.00,338.33) size 416.67x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,230.00)}]
+ RenderSVGContainer {g} at (175,338.33) size 416.67x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,230.00)}]
RenderPath {line} at (341.67,382.50) size 83.33x1.67 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-25.00,0.00 L25.00,0.00"]
RenderPath {circle} at (378.33,378.33) size 10x10 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00 L2.99,0.19 L2.98,0.38 L2.95,0.56 L2.91,0.75 L2.85,0.93 L2.79,1.10 L2.71,1.28 L2.63,1.45 L2.53,1.61 L2.43,1.76 L2.31,1.91 L2.19,2.05 L2.05,2.19 L1.91,2.31 L1.76,2.43 L1.61,2.53 L1.45,2.63 L1.28,2.71 L1.10,2.79 L0.93,2.85 L0.75,2.91 L0.56,2.95 L0.38,2.98 L0.19,2.99 L-0.00,3.00 L-0.19,2.99 L-0.38,2.98 L-0.56,2.95 L-0.75,2.91 L-0.93,2.85 L-1.10,2.79 L-1.28,2.71 L-1.45,2.63 L-1.61,2.53 L-1.76,2.43 L-1.91,2.31 L-2.05,2.19 L-2.19,2.05 L-2.31,1.91 L-2.43,1.76 L-2.53,1.61 L-2.63,1.45 L-2.71,1.28 L-2.79,1.10 L-2.85,0.93 L-2.91,0.75 L-2.95,0.56 L-2.98,0.38 L-2.99,0.19 L-3.00,-0.00 L-2.99,-0.19 L-2.98,-0.38 L-2.95,-0.56 L-2.91,-0.75 L-2.85,-0.93 L-2.79,-1.10 L-2.71,-1.28 L-2.63,-1.45 L-2.53,-1.61 L-2.43,-1.76 L-2.31,-1.91 L-2.19,-2.05 L-2.05,-2.19 L-1.91,-2.31 L-1.76,-2.43 L-1.61,-2.53 L-1.45,-2.63 L-1.28,-2.71 L-1.10,-2.79 L-0.93,-2.85 L-0.75,-2.91 L-0.56,-2.95 L-0.38,-2.98 L-0.19,-2.99 L0.00,-3.00 L0.19,-2.99 L0.38,-2.98 L0.56,-2.95 L0.75,-2.91 L0.93,-2.85 L1.10,-2.79 L1.28,-2.71 L1.45,-2.63 L1.61,-2.53 L1.76,-2.43 L1.91,-2.31 L2.05,-2.19 L2.19,-2.05 L2.31,-1.91 L2.43,-1.76 L2.53,-1.61 L2.63,-1.45 L2.71,-1.28 L2.79,-1.10 L2.85,-0.93 L2.91,-0.75 L2.95,-0.56 L2.98,-0.38 L2.99,-0.19 Z"]
RenderSVGText {text} at (-125,0) size 250x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 250x33
chunk 1 (middle anchor) text run 1 at (-124.50,0.00) startOffset 0 endOffset 18 width 249.00: "text-anchor:middle"
RenderSVGContainer {g} at (33.33,421.67) size 355x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,280.00)}]
- RenderPath {line} at (300.00,465.83) size 83.33x1.67 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-50.00,0.00 L0.00,0.00"]
+ RenderPath {line} at (300,465.83) size 83.33x1.67 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-50.00,0.00 L0.00,0.00"]
RenderPath {circle} at (378.33,461.67) size 10x10 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00 L2.99,0.19 L2.98,0.38 L2.95,0.56 L2.91,0.75 L2.85,0.93 L2.79,1.10 L2.71,1.28 L2.63,1.45 L2.53,1.61 L2.43,1.76 L2.31,1.91 L2.19,2.05 L2.05,2.19 L1.91,2.31 L1.76,2.43 L1.61,2.53 L1.45,2.63 L1.28,2.71 L1.10,2.79 L0.93,2.85 L0.75,2.91 L0.56,2.95 L0.38,2.98 L0.19,2.99 L-0.00,3.00 L-0.19,2.99 L-0.38,2.98 L-0.56,2.95 L-0.75,2.91 L-0.93,2.85 L-1.10,2.79 L-1.28,2.71 L-1.45,2.63 L-1.61,2.53 L-1.76,2.43 L-1.91,2.31 L-2.05,2.19 L-2.19,2.05 L-2.31,1.91 L-2.43,1.76 L-2.53,1.61 L-2.63,1.45 L-2.71,1.28 L-2.79,1.10 L-2.85,0.93 L-2.91,0.75 L-2.95,0.56 L-2.98,0.38 L-2.99,0.19 L-3.00,-0.00 L-2.99,-0.19 L-2.98,-0.38 L-2.95,-0.56 L-2.91,-0.75 L-2.85,-0.93 L-2.79,-1.10 L-2.71,-1.28 L-2.63,-1.45 L-2.53,-1.61 L-2.43,-1.76 L-2.31,-1.91 L-2.19,-2.05 L-2.05,-2.19 L-1.91,-2.31 L-1.76,-2.43 L-1.61,-2.53 L-1.45,-2.63 L-1.28,-2.71 L-1.10,-2.79 L-0.93,-2.85 L-0.75,-2.91 L-0.56,-2.95 L-0.38,-2.98 L-0.19,-2.99 L0.00,-3.00 L0.19,-2.99 L0.38,-2.98 L0.56,-2.95 L0.75,-2.91 L0.93,-2.85 L1.10,-2.79 L1.28,-2.71 L1.45,-2.63 L1.61,-2.53 L1.76,-2.43 L1.91,-2.31 L2.05,-2.19 L2.19,-2.05 L2.31,-1.91 L2.43,-1.76 L2.53,-1.61 L2.63,-1.45 L2.71,-1.28 L2.79,-1.10 L2.85,-0.93 L2.91,-0.75 L2.95,-0.56 L2.98,-0.38 L2.99,-0.19 Z"]
RenderSVGText {text} at (-210,0) size 210x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 210x33
diff --git a/LayoutTests/platform/mac/svg/text/text-align-05-b-expected.txt b/LayoutTests/platform/mac/svg/text/text-align-05-b-expected.txt
index c90f0ca..1365dd7 100644
--- a/LayoutTests/platform/mac/svg/text/text-align-05-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-align-05-b-expected.txt
@@ -8,7 +8,7 @@
chunk 1 text run 1 at (5.00,40.00) startOffset 0 endOffset 29 width 465.00: "Test 'text-anchor' (vertical)"
RenderSVGContainer {g} at (251.67,85) size 196.67x440
RenderSVGContainer {g} at (251.67,85) size 196.67x440 [transform={m=((1.00,0.00)(0.00,1.00)) t=(160.00,150.00)}]
- RenderSVGContainer {g} at (251.67,245) size 30x280
+ RenderSVGContainer {g} at (251.67,245) size 30.00x280
RenderPath {circle} at (261.67,245) size 10x10 [fill={[type=SOLID] [color=#000000]}] [data="M3.00,0.00 L2.99,0.19 L2.98,0.38 L2.95,0.56 L2.91,0.75 L2.85,0.93 L2.79,1.10 L2.71,1.28 L2.63,1.45 L2.53,1.61 L2.43,1.76 L2.31,1.91 L2.19,2.05 L2.05,2.19 L1.91,2.31 L1.76,2.43 L1.61,2.53 L1.45,2.63 L1.28,2.71 L1.10,2.79 L0.93,2.85 L0.75,2.91 L0.56,2.95 L0.38,2.98 L0.19,2.99 L-0.00,3.00 L-0.19,2.99 L-0.38,2.98 L-0.56,2.95 L-0.75,2.91 L-0.93,2.85 L-1.10,2.79 L-1.28,2.71 L-1.45,2.63 L-1.61,2.53 L-1.76,2.43 L-1.91,2.31 L-2.05,2.19 L-2.19,2.05 L-2.31,1.91 L-2.43,1.76 L-2.53,1.61 L-2.63,1.45 L-2.71,1.28 L-2.79,1.10 L-2.85,0.93 L-2.91,0.75 L-2.95,0.56 L-2.98,0.38 L-2.99,0.19 L-3.00,-0.00 L-2.99,-0.19 L-2.98,-0.38 L-2.95,-0.56 L-2.91,-0.75 L-2.85,-0.93 L-2.79,-1.10 L-2.71,-1.28 L-2.63,-1.45 L-2.53,-1.61 L-2.43,-1.76 L-2.31,-1.91 L-2.19,-2.05 L-2.05,-2.19 L-1.91,-2.31 L-1.76,-2.43 L-1.61,-2.53 L-1.45,-2.63 L-1.28,-2.71 L-1.10,-2.79 L-0.93,-2.85 L-0.75,-2.91 L-0.56,-2.95 L-0.38,-2.98 L-0.19,-2.99 L0.00,-3.00 L0.19,-2.99 L0.38,-2.98 L0.56,-2.95 L0.75,-2.91 L0.93,-2.85 L1.10,-2.79 L1.28,-2.71 L1.45,-2.63 L1.61,-2.53 L1.76,-2.43 L1.91,-2.31 L2.05,-2.19 L2.19,-2.05 L2.31,-1.91 L2.43,-1.76 L2.53,-1.61 L2.63,-1.45 L2.71,-1.28 L2.79,-1.10 L2.85,-0.93 L2.91,-0.75 L2.95,-0.56 L2.98,-0.38 L2.99,-0.19 Z"]
RenderSVGText {text} at (-9,27) size 18x165 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 18x165
diff --git a/LayoutTests/platform/mac/svg/text/text-fonts-01-t-expected.txt b/LayoutTests/platform/mac/svg/text/text-fonts-01-t-expected.txt
index 1c83023..aa69b0e 100644
--- a/LayoutTests/platform/mac/svg/text/text-fonts-01-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-fonts-01-t-expected.txt
@@ -2,8 +2,8 @@
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0.83,0.83) size 798.33x598.33
- RenderSVGContainer {g} at (33.33,46.67) size 510x446.67
- RenderSVGContainer {g} at (33.33,46.67) size 510x446.67
+ RenderSVGContainer {g} at (33.33,46.67) size 510.00x446.67
+ RenderSVGContainer {g} at (33.33,46.67) size 510.00x446.67
RenderSVGText {text} at (20,80) size 198x27 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-22) size 198x27
chunk 1 text run 1 at (20.00,80.00) startOffset 0 endOffset 17 width 198.00: "A serifed face \x{753B}\x{50CF}"
diff --git a/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt b/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt
index afad566..e5ae618 100644
--- a/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt
@@ -4,35 +4,35 @@
RenderSVGRoot {svg} at (0.83,0.83) size 798.33x598.33
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGContainer {g} at (60,33.33) size 696.67x483.33
- RenderSVGContainer {g} at (60.00,33.33) size 256.67x41.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}]
+ RenderSVGContainer {g} at (60,33.33) size 256.67x41.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}]
RenderSVGText {text} at (-94,0) size 64x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 64x18
chunk 1 (end anchor) text run 1 at (-94.00,0.00) startOffset 0 endOffset 9 width 64.00: "Reference"
- RenderSVGContainer {g} at (210.00,33.33) size 106.67x41.67
- RenderSVGContainer {use} at (210.00,60.00) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,60.00) size 13.33x13.33
- RenderPath {rect} at (210.00,60.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (235.00,60.00) size 13.33x13.33
- RenderSVGContainer {g} at (235.00,60.00) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,0.00)}]
- RenderPath {rect} at (235.00,60.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (260,60.00) size 13.33x13.33
- RenderSVGContainer {g} at (260,60.00) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,0.00)}]
- RenderPath {rect} at (260,60.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (285,60.00) size 13.33x13.33
- RenderSVGContainer {g} at (285,60.00) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,0.00)}]
- RenderPath {rect} at (285,60.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (210,33.33) size 106.67x41.67
+ RenderSVGContainer {use} at (210,60) size 13.33x13.33
+ RenderSVGContainer {g} at (210,60) size 13.33x13.33
+ RenderPath {rect} at (210,60) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (235,60) size 13.33x13.33
+ RenderSVGContainer {g} at (235,60) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,0.00)}]
+ RenderPath {rect} at (235,60) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (260,60) size 13.33x13.33
+ RenderSVGContainer {g} at (260,60) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,0.00)}]
+ RenderPath {rect} at (260,60) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (285,60) size 13.33x13.33
+ RenderSVGContainer {g} at (285,60) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,0.00)}]
+ RenderPath {rect} at (285,60) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (0,0) size 60x25 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-20) size 60x25
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 60.00: "1234"
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (121.67,100.00) size 253.33x41.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
+ RenderSVGContainer {g} at (121.67,100) size 253.33x41.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
RenderSVGText {text} at (-57,0) size 27x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 27x18
chunk 1 (end anchor) text run 1 at (-57.00,0.00) startOffset 0 endOffset 5 width 27.00: "x all"
- RenderSVGContainer {use} at (210.00,126.67) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,126.67) size 13.33x13.33
- RenderPath {rect} at (210.00,126.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (210,126.67) size 13.33x13.33
+ RenderSVGContainer {g} at (210,126.67) size 13.33x13.33
+ RenderPath {rect} at (210,126.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (243.33,126.67) size 13.33x13.33
RenderSVGContainer {g} at (243.33,126.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,0.00)}]
RenderPath {rect} at (243.33,126.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -55,9 +55,9 @@
RenderSVGText {text} at (-74,0) size 44x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 44x18
chunk 1 (end anchor) text run 1 at (-74.00,0.00) startOffset 0 endOffset 6 width 44.00: "x more"
- RenderSVGContainer {use} at (210.00,193.33) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,193.33) size 13.33x13.33
- RenderPath {rect} at (210.00,193.33) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (210,193.33) size 13.33x13.33
+ RenderSVGContainer {g} at (210,193.33) size 13.33x13.33
+ RenderPath {rect} at (210,193.33) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (243.33,193.33) size 13.33x13.33
RenderSVGContainer {g} at (243.33,193.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,0.00)}]
RenderPath {rect} at (243.33,193.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -83,9 +83,9 @@
RenderSVGText {text} at (-78,0) size 48x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 48x18
chunk 1 (end anchor) text run 1 at (-78.00,0.00) startOffset 0 endOffset 7 width 48.00: "x fewer"
- RenderSVGContainer {use} at (210.00,260) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,260) size 13.33x13.33
- RenderPath {rect} at (210.00,260) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (210,260) size 13.33x13.33
+ RenderSVGContainer {g} at (210,260) size 13.33x13.33
+ RenderPath {rect} at (210,260) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (243.33,260) size 13.33x13.33
RenderSVGContainer {g} at (243.33,260) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,0.00)}]
RenderPath {rect} at (243.33,260) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -107,13 +107,13 @@
RenderSVGText {text} at (-57,0) size 27x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 27x18
chunk 1 (end anchor) text run 1 at (-57.00,0.00) startOffset 0 endOffset 5 width 27.00: "y all"
- RenderSVGContainer {use} at (210.00,310.00) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,310) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderPath {rect} at (210.00,310) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (235.00,318.33) size 13.33x13.33
- RenderSVGContainer {g} at (235.00,318.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
- RenderPath {rect} at (235.00,318.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (260,335.00) size 13.33x13.33
+ RenderSVGContainer {use} at (210,310) size 13.33x13.33
+ RenderSVGContainer {g} at (210,310) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderPath {rect} at (210,310) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (235,318.33) size 13.33x13.33
+ RenderSVGContainer {g} at (235,318.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
+ RenderPath {rect} at (235,318.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (260,335) size 13.33x13.33
RenderSVGContainer {g} at (260,335) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
RenderPath {rect} at (260,335) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (285,343.33) size 13.33x13.33
@@ -126,12 +126,12 @@
RenderSVGText {text} at (-74,0) size 44x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 44x18
chunk 1 (end anchor) text run 1 at (-74.00,0.00) startOffset 0 endOffset 6 width 44.00: "y more"
- RenderSVGContainer {use} at (210.00,393.33) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,393.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderPath {rect} at (210.00,393.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (235.00,401.67) size 13.33x13.33
- RenderSVGContainer {g} at (235.00,401.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
- RenderPath {rect} at (235.00,401.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (210,393.33) size 13.33x13.33
+ RenderSVGContainer {g} at (210,393.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderPath {rect} at (210,393.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (235,401.67) size 13.33x13.33
+ RenderSVGContainer {g} at (235,401.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
+ RenderPath {rect} at (235,401.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (260,418.33) size 13.33x13.33
RenderSVGContainer {g} at (260,418.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
RenderPath {rect} at (260,418.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -145,12 +145,12 @@
RenderSVGText {text} at (-78,0) size 48x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 48x18
chunk 1 (end anchor) text run 1 at (-78.00,0.00) startOffset 0 endOffset 7 width 48.00: "y fewer"
- RenderSVGContainer {use} at (210.00,476.67) size 13.33x13.33
- RenderSVGContainer {g} at (210.00,476.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderPath {rect} at (210.00,476.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (235.00,485) size 13.33x13.33
- RenderSVGContainer {g} at (235.00,485) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
- RenderPath {rect} at (235.00,485) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (210,476.67) size 13.33x13.33
+ RenderSVGContainer {g} at (210,476.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderPath {rect} at (210,476.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (235,485) size 13.33x13.33
+ RenderSVGContainer {g} at (235,485) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
+ RenderPath {rect} at (235,485) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (260,501.67) size 13.33x13.33
RenderSVGContainer {g} at (260,501.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
RenderPath {rect} at (260,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -161,32 +161,32 @@
RenderSVGInlineText {#text} at (0,-20) size 60x40
chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234"
RenderSVGContainer {g} at (401.67,83.33) size 355x341.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}]
- RenderSVGContainer {g} at (468.33,83.33) size 273.33x75 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
+ RenderSVGContainer {g} at (468.33,83.33) size 273.33x75.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
RenderSVGText {text} at (-69,0) size 39x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 39x18
chunk 1 (end anchor) text run 1 at (-69.00,0.00) startOffset 0 endOffset 7 width 39.00: "x/y all"
RenderSVGContainer {use} at (576.67,126.67) size 13.33x13.33
RenderSVGContainer {g} at (576.67,126.67) size 13.33x13.33
RenderPath {rect} at (576.67,126.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (610,110.00) size 13.33x13.33
- RenderSVGContainer {g} at (610.00,110) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
- RenderPath {rect} at (610.00,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (610,110) size 13.33x13.33
+ RenderSVGContainer {g} at (610,110) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
+ RenderPath {rect} at (610,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (643.33,118.33) size 13.33x13.33
RenderSVGContainer {g} at (643.33,118.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
RenderPath {rect} at (643.33,118.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (676.67,135) size 13.33x13.33
- RenderSVGContainer {g} at (676.67,135.00) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,5.00)}]
- RenderPath {rect} at (676.67,135.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (676.67,135) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,5.00)}]
+ RenderPath {rect} at (676.67,135) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (710,143.33) size 13.33x13.33
- RenderSVGContainer {g} at (710.00,143.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}]
- RenderPath {rect} at (710.00,143.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (710,143.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}]
+ RenderPath {rect} at (710,143.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (20,-10) size 75x45 contains 4 chunk(s)
RenderSVGInlineText {#text} at (0,-20) size 75x45
chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2"
chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3"
chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4"
- RenderSVGContainer {g} at (440.00,150) size 316.67x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]
+ RenderSVGContainer {g} at (440,150) size 316.67x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]
RenderSVGText {text} at (-86,0) size 56x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 56x18
chunk 1 (end anchor) text run 1 at (-86.00,0.00) startOffset 0 endOffset 8 width 56.00: "x/y more"
@@ -194,8 +194,8 @@
RenderSVGContainer {g} at (576.67,193.33) size 13.33x13.33
RenderPath {rect} at (576.67,193.33) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (610,176.67) size 13.33x13.33
- RenderSVGContainer {g} at (610.00,176.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
- RenderPath {rect} at (610.00,176.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (610,176.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
+ RenderPath {rect} at (610,176.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (643.33,185) size 13.33x13.33
RenderSVGContainer {g} at (643.33,185) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
RenderPath {rect} at (643.33,185) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -203,8 +203,8 @@
RenderSVGContainer {g} at (676.67,201.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,5.00)}]
RenderPath {rect} at (676.67,201.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (710,210) size 13.33x13.33
- RenderSVGContainer {g} at (710.00,210) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}]
- RenderPath {rect} at (710.00,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (710,210) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}]
+ RenderPath {rect} at (710,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (743.33,226.67) size 13.33x13.33
RenderSVGContainer {g} at (743.33,226.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,20.00)}]
RenderPath {rect} at (743.33,226.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -214,7 +214,7 @@
chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2"
chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3"
chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4"
- RenderSVGContainer {g} at (433.33,216.67) size 300x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]
+ RenderSVGContainer {g} at (433.33,216.67) size 300.00x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]
RenderSVGText {text} at (-90,0) size 60x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 60x18
chunk 1 (end anchor) text run 1 at (-90.00,0.00) startOffset 0 endOffset 9 width 60.00: "x/y fewer"
@@ -222,8 +222,8 @@
RenderSVGContainer {g} at (576.67,260) size 13.33x13.33
RenderPath {rect} at (576.67,260) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (610,243.33) size 13.33x13.33
- RenderSVGContainer {g} at (610.00,243.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
- RenderPath {rect} at (610.00,243.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (610,243.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
+ RenderPath {rect} at (610,243.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (643.33,251.67) size 13.33x13.33
RenderSVGContainer {g} at (643.33,251.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
RenderPath {rect} at (643.33,251.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
@@ -245,18 +245,18 @@
RenderSVGContainer {use} at (576.67,326.67) size 13.33x13.33
RenderSVGContainer {g} at (576.67,326.67) size 13.33x13.33
RenderPath {rect} at (576.67,326.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (610,310.00) size 13.33x13.33
- RenderSVGContainer {g} at (610.00,310) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
- RenderPath {rect} at (610.00,310) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (610,310) size 13.33x13.33
+ RenderSVGContainer {g} at (610,310) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
+ RenderPath {rect} at (610,310) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (643.33,318.33) size 13.33x13.33
RenderSVGContainer {g} at (643.33,318.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
RenderPath {rect} at (643.33,318.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (676.67,335.00) size 13.33x13.33
+ RenderSVGContainer {use} at (676.67,335) size 13.33x13.33
RenderSVGContainer {g} at (676.67,335) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,5.00)}]
RenderPath {rect} at (676.67,335) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (710,335.00) size 13.33x13.33
- RenderSVGContainer {g} at (710.00,335) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,5.00)}]
- RenderPath {rect} at (710.00,335) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {use} at (710,335) size 13.33x13.33
+ RenderSVGContainer {g} at (710,335) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,5.00)}]
+ RenderPath {rect} at (710,335) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (20,-10) size 75x40 contains 4 chunk(s)
RenderSVGInlineText {#text} at (0,-20) size 75x40
chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1"
@@ -271,8 +271,8 @@
RenderSVGContainer {g} at (576.67,393.33) size 13.33x13.33
RenderPath {rect} at (576.67,393.33) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (610,376.67) size 13.33x13.33
- RenderSVGContainer {g} at (610.00,376.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
- RenderPath {rect} at (610.00,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (610,376.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-10.00)}]
+ RenderPath {rect} at (610,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (643.33,385) size 13.33x13.33
RenderSVGContainer {g} at (643.33,385) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
RenderPath {rect} at (643.33,385) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt b/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
index b5e6635..da00407 100644
--- a/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
@@ -8,7 +8,7 @@
RenderSVGContainer {g} at (-4,-15) size 8x19
RenderPath {line} at (-0.50,-15) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (16.67,93.33) size 73.33x430 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,40.00)}]
+ RenderSVGContainer {g} at (16.67,93.33) size 73.33x430.00 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,40.00)}]
RenderSVGText {text} at (0,30) size 44x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 44x18
chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 7 width 44.00: "1.x 1.y"
@@ -36,7 +36,7 @@
RenderSVGText {text} at (0,270) size 44x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 44x18
chunk 1 text run 1 at (0.00,270.00) startOffset 0 endOffset 7 width 44.00: "2.x 2.y"
- RenderSVGContainer {g} at (190,15.00) size 235x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,40.00)}]
+ RenderSVGContainer {g} at (190,15) size 235x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,40.00)}]
RenderSVGText {text} at (-36,-17) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
chunk 1 (middle anchor) text run 1 at (-35.50,-17.00) startOffset 0 endOffset 11 width 71.00: "text-anchor"
@@ -57,22 +57,22 @@
RenderSVGContainer {g} at (260,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
RenderSVGContainer {g} at (260,141.67) size 13.33x31.67
RenderPath {line} at (265.83,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (260,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (260,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (276.67,141.67) size 13.33x31.67
RenderSVGContainer {g} at (276.67,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,60.00)}]
RenderSVGContainer {g} at (276.67,141.67) size 13.33x31.67
RenderPath {line} at (282.50,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (276.67,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (276.67,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (293.33,141.67) size 13.33x31.67
RenderSVGContainer {g} at (293.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,60.00)}]
RenderSVGContainer {g} at (293.33,141.67) size 13.33x31.67
RenderPath {line} at (299.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (293.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (293.33,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (310,141.67) size 13.33x31.67
RenderSVGContainer {g} at (310,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,60.00)}]
RenderSVGContainer {g} at (310,141.67) size 13.33x31.67
RenderPath {line} at (315.83,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (310,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (310,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (10,60) size 45x11 contains 4 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 45x11
chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 1 width 15.00: "1"
@@ -83,28 +83,28 @@
RenderSVGContainer {g} at (260,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
RenderSVGContainer {g} at (260,191.67) size 13.33x31.67
RenderPath {line} at (265.83,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (260,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (260,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (343.33,191.67) size 13.33x31.67
RenderSVGContainer {g} at (343.33,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
RenderSVGContainer {g} at (343.33,191.67) size 13.33x31.67
RenderPath {line} at (349.17,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (343.33,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (343.33,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (10,90) size 95x11 contains 2 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 95x11
chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 text run 1 at (60.00,90.00) startOffset 1 endOffset 4 width 45.00: "234"
- RenderSVGContainer {g} at (243.33,225.00) size 106.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
- RenderSVGContainer {use} at (243.33,225.00) size 13.33x31.67
- RenderSVGContainer {g} at (243.33,225.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderSVGContainer {g} at (243.33,225.00) size 13.33x31.67
- RenderPath {line} at (249.17,225.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (243.33,225) size 106.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
+ RenderSVGContainer {use} at (243.33,225) size 13.33x31.67
+ RenderSVGContainer {g} at (243.33,225) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderSVGContainer {g} at (243.33,225) size 13.33x31.67
+ RenderPath {line} at (249.17,225) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (243.33,243.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (268.33,233.33) size 13.33x31.67
RenderSVGContainer {g} at (268.33,233.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
RenderSVGContainer {g} at (268.33,233.33) size 13.33x31.67
RenderPath {line} at (274.17,233.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (268.33,251.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {use} at (293.33,250.00) size 13.33x31.67
+ RenderSVGContainer {use} at (293.33,250) size 13.33x31.67
RenderSVGContainer {g} at (293.33,250) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
RenderSVGContainer {g} at (293.33,250) size 13.33x31.67
RenderPath {line} at (299.17,250) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
@@ -210,11 +210,11 @@
chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2"
chunk 3 text run 1 at (30.00,-5.00) startOffset 2 endOffset 3 width 15.00: "3"
chunk 4 text run 1 at (40.00,-5.00) startOffset 3 endOffset 4 width 15.00: "4"
- RenderSVGContainer {g} at (260,475.00) size 165x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
- RenderSVGContainer {use} at (260,475.00) size 13.33x31.67
- RenderSVGContainer {g} at (260,475.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
- RenderSVGContainer {g} at (260,475.00) size 13.33x31.67
- RenderPath {line} at (265.83,475.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (260,475) size 165x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
+ RenderSVGContainer {use} at (260,475) size 13.33x31.67
+ RenderSVGContainer {g} at (260,475) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
+ RenderSVGContainer {g} at (260,475) size 13.33x31.67
+ RenderPath {line} at (265.83,475) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (260,493.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (343.33,483.33) size 13.33x31.67
RenderSVGContainer {g} at (343.33,483.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-5.00)}]
@@ -225,7 +225,7 @@
RenderSVGInlineText {#text} at (0,-9) size 95x16
chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 text run 1 at (60.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234"
- RenderSVGContainer {g} at (356.67,15.00) size 198.33x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,40.00)}]
+ RenderSVGContainer {g} at (356.67,15) size 198.33x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,40.00)}]
RenderSVGText {text} at (-36,-17) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
chunk 1 (middle anchor) text run 1 at (-35.50,-17.00) startOffset 0 endOffset 11 width 71.00: "text-anchor"
@@ -246,19 +246,19 @@
RenderSVGContainer {g} at (426.67,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
RenderSVGContainer {g} at (426.67,141.67) size 13.33x31.67
RenderPath {line} at (432.50,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (426.67,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (426.67,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (443.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,60.00)}]
RenderSVGContainer {g} at (443.33,141.67) size 13.33x31.67
RenderPath {line} at (449.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (443.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (443.33,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (460,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,60.00)}]
RenderSVGContainer {g} at (460,141.67) size 13.33x31.67
RenderPath {line} at (465.83,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (460,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (460,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (476.67,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,60.00)}]
RenderSVGContainer {g} at (476.67,141.67) size 13.33x31.67
RenderPath {line} at (482.50,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (476.67,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (476.67,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (2,60) size 46x11 contains 4 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 46x11
chunk 1 (middle anchor) text run 1 at (2.50,60.00) startOffset 0 endOffset 1 width 15.00: "1"
@@ -268,19 +268,19 @@
RenderSVGContainer {g} at (426.67,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
RenderSVGContainer {g} at (426.67,191.67) size 13.33x31.67
RenderPath {line} at (432.50,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (426.67,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (510.00,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
- RenderSVGContainer {g} at (510.00,191.67) size 13.33x31.67
+ RenderPath {rect} at (426.67,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (510,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
+ RenderSVGContainer {g} at (510,191.67) size 13.33x31.67
RenderPath {line} at (515.83,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (510.00,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (510,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (2,90) size 81x11 contains 2 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 81x11
chunk 1 (middle anchor) text run 1 at (2.50,90.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 (middle anchor) text run 1 at (37.50,90.00) startOffset 1 endOffset 4 width 45.00: "234"
- RenderSVGContainer {g} at (366.67,225.00) size 131.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
- RenderSVGContainer {g} at (410,225.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderSVGContainer {g} at (410,225.00) size 13.33x31.67
- RenderPath {line} at (415.83,225.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (366.67,225) size 131.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
+ RenderSVGContainer {g} at (410,225) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderSVGContainer {g} at (410,225) size 13.33x31.67
+ RenderPath {line} at (415.83,225) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (410,243.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (435,233.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
RenderSVGContainer {g} at (435,233.33) size 13.33x31.67
@@ -376,20 +376,20 @@
chunk 2 (middle anchor) text run 1 at (12.50,-5.00) startOffset 1 endOffset 2 width 15.00: "2"
chunk 3 (middle anchor) text run 1 at (22.50,-5.00) startOffset 2 endOffset 3 width 15.00: "3"
chunk 4 (middle anchor) text run 1 at (32.50,-5.00) startOffset 3 endOffset 4 width 15.00: "4"
- RenderSVGContainer {g} at (420,475.00) size 135x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
- RenderSVGContainer {g} at (426.67,475.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
- RenderSVGContainer {g} at (426.67,475.00) size 13.33x31.67
- RenderPath {line} at (432.50,475.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (420,475) size 135x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
+ RenderSVGContainer {g} at (426.67,475) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
+ RenderSVGContainer {g} at (426.67,475) size 13.33x31.67
+ RenderPath {line} at (432.50,475) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (426.67,493.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (510.00,483.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-5.00)}]
- RenderSVGContainer {g} at (510.00,483.33) size 13.33x31.67
+ RenderSVGContainer {g} at (510,483.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-5.00)}]
+ RenderSVGContainer {g} at (510,483.33) size 13.33x31.67
RenderPath {line} at (515.83,483.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (510.00,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (510,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (2,-10) size 81x16 contains 2 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 81x16
chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 (middle anchor) text run 1 at (37.50,-5.00) startOffset 1 endOffset 4 width 45.00: "234"
- RenderSVGContainer {g} at (483.33,15.00) size 206.67x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,40.00)}]
+ RenderSVGContainer {g} at (483.33,15) size 206.67x535 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,40.00)}]
RenderSVGText {text} at (-36,-17) size 72x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 72x18
chunk 1 (middle anchor) text run 1 at (-35.50,-17.00) startOffset 0 endOffset 11 width 71.00: "text-anchor"
@@ -410,19 +410,19 @@
RenderSVGContainer {g} at (593.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
RenderSVGContainer {g} at (593.33,141.67) size 13.33x31.67
RenderPath {line} at (599.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (593.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (610.00,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,60.00)}]
- RenderSVGContainer {g} at (610.00,141.67) size 13.33x31.67
+ RenderPath {rect} at (593.33,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (610,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,60.00)}]
+ RenderSVGContainer {g} at (610,141.67) size 13.33x31.67
RenderPath {line} at (615.83,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (610.00,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (610,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (626.67,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,60.00)}]
RenderSVGContainer {g} at (626.67,141.67) size 13.33x31.67
RenderPath {line} at (632.50,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (626.67,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (626.67,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (643.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,60.00)}]
RenderSVGContainer {g} at (643.33,141.67) size 13.33x31.67
RenderPath {line} at (649.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (643.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (643.33,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (-5,60) size 45x11 contains 4 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 45x11
chunk 1 (end anchor) text run 1 at (-5.00,60.00) startOffset 0 endOffset 1 width 15.00: "1"
@@ -432,19 +432,19 @@
RenderSVGContainer {g} at (593.33,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
RenderSVGContainer {g} at (593.33,191.67) size 13.33x31.67
RenderPath {line} at (599.17,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (593.33,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (593.33,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (676.67,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
RenderSVGContainer {g} at (676.67,191.67) size 13.33x31.67
RenderPath {line} at (682.50,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (676.67,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (676.67,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (-5,90) size 65x11 contains 2 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 65x11
chunk 1 (end anchor) text run 1 at (-5.00,90.00) startOffset 0 endOffset 1 width 15.00: "1"
chunk 2 (end anchor) text run 1 at (15.00,90.00) startOffset 1 endOffset 4 width 45.00: "234"
- RenderSVGContainer {g} at (483.33,225.00) size 181.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
- RenderSVGContainer {g} at (576.67,225.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
- RenderSVGContainer {g} at (576.67,225.00) size 13.33x31.67
- RenderPath {line} at (582.50,225.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (483.33,225) size 181.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
+ RenderSVGContainer {g} at (576.67,225) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
+ RenderSVGContainer {g} at (576.67,225) size 13.33x31.67
+ RenderPath {line} at (582.50,225) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (576.67,243.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (601.67,233.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
RenderSVGContainer {g} at (601.67,233.33) size 13.33x31.67
@@ -466,10 +466,10 @@
RenderSVGContainer {g} at (593.33,275) size 13.33x31.67
RenderPath {line} at (599.17,275) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (593.33,293.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (610.00,283.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
- RenderSVGContainer {g} at (610.00,283.33) size 13.33x31.67
+ RenderSVGContainer {g} at (610,283.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
+ RenderSVGContainer {g} at (610,283.33) size 13.33x31.67
RenderPath {line} at (615.83,283.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (610.00,301.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (610,301.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (626.67,300) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
RenderSVGContainer {g} at (626.67,300) size 13.33x31.67
RenderPath {line} at (632.50,300) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
@@ -489,18 +489,18 @@
RenderSVGContainer {g} at (593.33,325) size 13.33x31.67
RenderPath {line} at (599.17,325) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (593.33,343.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (610.00,333.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
- RenderSVGContainer {g} at (610.00,333.33) size 13.33x31.67
+ RenderSVGContainer {g} at (610,333.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
+ RenderSVGContainer {g} at (610,333.33) size 13.33x31.67
RenderPath {line} at (615.83,333.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (610.00,351.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (635.00,350) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,5.00)}]
- RenderSVGContainer {g} at (635.00,350) size 13.33x31.67
+ RenderPath {rect} at (610,351.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (635,350) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,5.00)}]
+ RenderSVGContainer {g} at (635,350) size 13.33x31.67
RenderPath {line} at (640.83,350) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (635.00,368.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (660.00,358.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
- RenderSVGContainer {g} at (660.00,358.33) size 13.33x31.67
+ RenderPath {rect} at (635,368.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderSVGContainer {g} at (660,358.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
+ RenderSVGContainer {g} at (660,358.33) size 13.33x31.67
RenderPath {line} at (665.83,358.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (660.00,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (660,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGText {text} at (-25,-10) size 45x31 contains 2 chunk(s)
RenderSVGInlineText {#text} at (0,-9) size 45x31
chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1"
@@ -522,10 +522,10 @@
RenderSVGContainer {g} at (593.33,425) size 13.33x31.67
RenderPath {line} at (599.17,425) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (593.33,443.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
- RenderSVGContainer {g} at (610.00,433.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
- RenderSVGContainer {g} at (610.00,433.33) size 13.33x31.67
+ RenderSVGContainer {g} at (610,433.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
+ RenderSVGContainer {g} at (610,433.33) size 13.33x31.67
RenderPath {line} at (615.83,433.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (610.00,451.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (610,451.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (626.67,433.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,-5.00)}]
RenderSVGContainer {g} at (626.67,433.33) size 13.33x31.67
RenderPath {line} at (632.50,433.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
@@ -540,10 +540,10 @@
chunk 2 (end anchor) text run 1 at (5.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2"
chunk 3 (end anchor) text run 1 at (15.00,-5.00) startOffset 2 endOffset 3 width 15.00: "3"
chunk 4 (end anchor) text run 1 at (25.00,-5.00) startOffset 3 endOffset 4 width 15.00: "4"
- RenderSVGContainer {g} at (575,475.00) size 115x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
- RenderSVGContainer {g} at (593.33,475.00) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
- RenderSVGContainer {g} at (593.33,475.00) size 13.33x31.67
- RenderPath {line} at (599.17,475.00) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderSVGContainer {g} at (575,475) size 115x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
+ RenderSVGContainer {g} at (593.33,475) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
+ RenderSVGContainer {g} at (593.33,475) size 13.33x31.67
+ RenderPath {line} at (599.17,475) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (593.33,493.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {g} at (676.67,483.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-5.00)}]
RenderSVGContainer {g} at (676.67,483.33) size 13.33x31.67
diff --git a/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt b/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt
index a898af5..640cfea 100644
--- a/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt
@@ -62,11 +62,11 @@
RenderSVGContainer {g} at (193.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
RenderSVGContainer {g} at (193.33,141.67) size 13.33x31.67
RenderPath {line} at (199.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (193.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (193.33,160) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (218.33,241.67) size 13.33x31.67
RenderSVGContainer {g} at (218.33,241.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,50.00)}]
RenderSVGContainer {g} at (218.33,241.67) size 13.33x31.67
- RenderPath {line} at (224.17,241.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L0.00,-15.00"]
+ RenderPath {line} at (224.17,241.67) size 1.67x25.00 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L0.00,-15.00"]
RenderPath {rect} at (218.33,260) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (218.33,158.33) size 13.33x31.67
RenderSVGContainer {g} at (218.33,158.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,0.00)}]
@@ -82,7 +82,7 @@
RenderSVGContainer {g} at (268.33,191.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,20.00)}]
RenderSVGContainer {g} at (268.33,191.67) size 13.33x31.67
RenderPath {line} at (274.17,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00 L0.00,-15.00"]
- RenderPath {rect} at (268.33,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
+ RenderPath {rect} at (268.33,210) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00 L4.00,-4.00 L4.00,4.00 L-4.00,4.00 Z"]
RenderSVGContainer {use} at (293.33,208.33) size 13.33x31.67
RenderSVGContainer {g} at (293.33,208.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,30.00)}]
RenderSVGContainer {g} at (293.33,208.33) size 13.33x31.67
diff --git a/LayoutTests/platform/mac/svg/text/text-tref-01-b-expected.txt b/LayoutTests/platform/mac/svg/text/text-tref-01-b-expected.txt
index 135654a..dd86256 100644
--- a/LayoutTests/platform/mac/svg/text/text-tref-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-tref-01-b-expected.txt
@@ -9,7 +9,7 @@
RenderSVGText {text}
RenderSVGInline {tref} at (0,0) size 0x0
RenderSVGInlineText {#text} at (0,0) size 0x0
- RenderPath {rect} at (120.83,304.17) size 435x38.33 [stroke={[type=SOLID] [color=#000000]}] [data="M73.00,183.00 L333.00,183.00 L333.00,205.00 L73.00,205.00 Z"]
+ RenderPath {rect} at (120.83,304.17) size 435.00x38.33 [stroke={[type=SOLID] [color=#000000]}] [data="M73.00,183.00 L333.00,183.00 L333.00,205.00 L73.00,205.00 Z"]
RenderSVGText {text} at (73,217) size 154x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 154x14
chunk 1 text run 1 at (73.00,217.00) startOffset 0 endOffset 34 width 154.00: "'tref' to a string in another file"
diff --git a/LayoutTests/svg/custom/getTransformToElement.svg b/LayoutTests/svg/custom/getTransformToElement.svg
index edff5e1..a47be6d 100644
--- a/LayoutTests/svg/custom/getTransformToElement.svg
+++ b/LayoutTests/svg/custom/getTransformToElement.svg
@@ -14,7 +14,7 @@
ctm = referenceElement.getTransformToElement(document.getElementById("redRect"));
if (ctm.a.toFixed(3) == 0.354 && ctm.b.toFixed(3) == -0.354 &&
ctm.c.toFixed(3) == 0.354 && ctm.d.toFixed(3) == 0.354 &&
- ctm.e.toFixed(3) == -107.071 && ctm.f.toFixed(15) == 0.0) {
+ ctm.e.toFixed(3) == -107.071 && ctm.f.toFixed(8) == 0.0) {
try {
var ctm = referenceElement.getTransformToElement(document.getElementById("group0"));
} catch(e) {
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d418623a..a59429b 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,154 @@
+2009-02-06 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=6868
+
+ I have not only made TransformationMatrix platform independent
+ but I've also added 3D methods, which will be used when I update
+ WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
+ I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
+ the math as doubles rather than floats. This makes a TransformationMatrix
+ go from 24 bytes to 128 bytes, but I don't think this class is used enough to
+ make this overhead will be significant.
+
+ The change from floats to doubles has caused some differences in rounding and
+ display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
+ so I've had to change some LayoutTest results in the SVG tests.
+
+ * platform/graphics/FloatPoint.cpp:
+ (WebCore::FloatPoint::matrixTransform):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/cg/TransformationMatrixCG.cpp:
+ (WebCore::TransformationMatrix::operator CGAffineTransform):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::determinant2x2):
+ (WebCore::determinant3x3):
+ (WebCore::determinant4x4):
+ (WebCore::adjoint):
+ (WebCore::inverse):
+ (WebCore::transposeMatrix4):
+ (WebCore::v4MulPointByMatrix):
+ (WebCore::v3Length):
+ (WebCore::v3Scale):
+ (WebCore::v3Dot):
+ (WebCore::v3Combine):
+ (WebCore::v3Cross):
+ (WebCore::decompose):
+ (WebCore::slerp):
+ (WebCore::TransformationMatrix::scale):
+ (WebCore::TransformationMatrix::rotateFromVector):
+ (WebCore::TransformationMatrix::flipX):
+ (WebCore::TransformationMatrix::flipY):
+ (WebCore::makeMapBetweenRects):
+ (WebCore::TransformationMatrix::projectPoint):
+ (WebCore::TransformationMatrix::mapPoint):
+ (WebCore::TransformationMatrix::mapRect):
+ (WebCore::TransformationMatrix::mapQuad):
+ (WebCore::TransformationMatrix::scale3d):
+ (WebCore::TransformationMatrix::rotate3d):
+ (WebCore::TransformationMatrix::translate):
+ (WebCore::TransformationMatrix::translate3d):
+ (WebCore::TransformationMatrix::skew):
+ (WebCore::TransformationMatrix::applyPerspective):
+ (WebCore::TransformationMatrix::multLeft):
+ (WebCore::TransformationMatrix::multVecMatrix):
+ (WebCore::TransformationMatrix::isInvertible):
+ (WebCore::TransformationMatrix::inverse):
+ (WebCore::blendFloat):
+ (WebCore::TransformationMatrix::blend):
+ (WebCore::TransformationMatrix::decompose):
+ (WebCore::TransformationMatrix::recompose):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::TransformationMatrix):
+ (WebCore::TransformationMatrix::setMatrix):
+ (WebCore::TransformationMatrix::operator =):
+ (WebCore::TransformationMatrix::makeIdentity):
+ (WebCore::TransformationMatrix::isIdentity):
+ (WebCore::TransformationMatrix::map):
+ (WebCore::TransformationMatrix::m11):
+ (WebCore::TransformationMatrix::setM11):
+ (WebCore::TransformationMatrix::m12):
+ (WebCore::TransformationMatrix::setM12):
+ (WebCore::TransformationMatrix::m13):
+ (WebCore::TransformationMatrix::setM13):
+ (WebCore::TransformationMatrix::m14):
+ (WebCore::TransformationMatrix::setM14):
+ (WebCore::TransformationMatrix::m21):
+ (WebCore::TransformationMatrix::setM21):
+ (WebCore::TransformationMatrix::m22):
+ (WebCore::TransformationMatrix::setM22):
+ (WebCore::TransformationMatrix::m23):
+ (WebCore::TransformationMatrix::setM23):
+ (WebCore::TransformationMatrix::m24):
+ (WebCore::TransformationMatrix::setM24):
+ (WebCore::TransformationMatrix::m31):
+ (WebCore::TransformationMatrix::setM31):
+ (WebCore::TransformationMatrix::m32):
+ (WebCore::TransformationMatrix::setM32):
+ (WebCore::TransformationMatrix::m33):
+ (WebCore::TransformationMatrix::setM33):
+ (WebCore::TransformationMatrix::m34):
+ (WebCore::TransformationMatrix::setM34):
+ (WebCore::TransformationMatrix::m41):
+ (WebCore::TransformationMatrix::setM41):
+ (WebCore::TransformationMatrix::m42):
+ (WebCore::TransformationMatrix::setM42):
+ (WebCore::TransformationMatrix::m43):
+ (WebCore::TransformationMatrix::setM43):
+ (WebCore::TransformationMatrix::m44):
+ (WebCore::TransformationMatrix::setM44):
+ (WebCore::TransformationMatrix::a):
+ (WebCore::TransformationMatrix::setA):
+ (WebCore::TransformationMatrix::b):
+ (WebCore::TransformationMatrix::setB):
+ (WebCore::TransformationMatrix::c):
+ (WebCore::TransformationMatrix::setC):
+ (WebCore::TransformationMatrix::d):
+ (WebCore::TransformationMatrix::setD):
+ (WebCore::TransformationMatrix::e):
+ (WebCore::TransformationMatrix::setE):
+ (WebCore::TransformationMatrix::f):
+ (WebCore::TransformationMatrix::setF):
+ (WebCore::TransformationMatrix::multiply):
+ (WebCore::TransformationMatrix::rotate):
+ (WebCore::TransformationMatrix::skewX):
+ (WebCore::TransformationMatrix::skewY):
+ (WebCore::TransformationMatrix::hasPerspective):
+ (WebCore::TransformationMatrix::):
+ (WebCore::TransformationMatrix::isAffine):
+ (WebCore::TransformationMatrix::operator==):
+ (WebCore::TransformationMatrix::operator*=):
+ (WebCore::TransformationMatrix::operator*):
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::nodeAtPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateTransform):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::mapAbsolutePointToLocal):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::nodeAtPoint):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::nodeAtPoint):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::nodeAtPoint):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::nodeAtPoint):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::resetToBaseValue):
+ (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::viewport):
+ * svg/SVGTransform.cpp:
+ (SVGTransform::setTranslate):
+ (SVGTransform::setScale):
+ (SVGTransform::setRotate):
+ (SVGTransform::setSkewX):
+ (SVGTransform::setSkewY):
+ * svg/graphics/SVGResourceMarker.cpp:
+ (WebCore::SVGResourceMarker::draw):
+
2009-02-07 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
diff --git a/WebCore/css/WebKitCSSMatrix.cpp b/WebCore/css/WebKitCSSMatrix.cpp
index 2d97b85..134f412 100644
--- a/WebCore/css/WebKitCSSMatrix.cpp
+++ b/WebCore/css/WebKitCSSMatrix.cpp
@@ -125,7 +125,7 @@
scaleX = 1;
if (isnan(scaleY))
scaleY = scaleX;
- return WebKitCSSMatrix::create(m_matrix.scale(scaleX,scaleY));
+ return WebKitCSSMatrix::create(m_matrix.scaleNonUniform(scaleX,scaleY));
}
PassRefPtr<WebKitCSSMatrix> WebKitCSSMatrix::rotate(float rot)
diff --git a/WebCore/html/CanvasRenderingContext2D.cpp b/WebCore/html/CanvasRenderingContext2D.cpp
index f91eb0a..4720f5b 100644
--- a/WebCore/html/CanvasRenderingContext2D.cpp
+++ b/WebCore/html/CanvasRenderingContext2D.cpp
@@ -357,7 +357,7 @@
return;
TransformationMatrix newTransform = state().m_transform;
- newTransform.scale(sx, sy);
+ newTransform.scaleNonUniform(sx, sy);
if (!newTransform.isInvertible()) {
state().m_invertibleCTM = false;
return;
@@ -365,7 +365,7 @@
state().m_transform = newTransform;
c->scale(FloatSize(sx, sy));
- m_path.transform(TransformationMatrix().scale(1.0/sx, 1.0/sy));
+ m_path.transform(TransformationMatrix().scaleNonUniform(1.0/sx, 1.0/sy));
}
void CanvasRenderingContext2D::rotate(float angleInRadians)
diff --git a/WebCore/html/HTMLCanvasElement.cpp b/WebCore/html/HTMLCanvasElement.cpp
index 7481d96..1cd2796 100644
--- a/WebCore/html/HTMLCanvasElement.cpp
+++ b/WebCore/html/HTMLCanvasElement.cpp
@@ -280,7 +280,7 @@
IntSize size = convertLogicalToDevice(unscaledSize);
TransformationMatrix transform;
if (size.width() && size.height())
- transform.scale(size.width() / unscaledSize.width(), size.height() / unscaledSize.height());
+ transform.scaleNonUniform(size.width() / unscaledSize.width(), size.height() / unscaledSize.height());
transform.multiply(m_imageBuffer->baseTransform());
return transform;
}
diff --git a/WebCore/platform/graphics/FloatPoint.cpp b/WebCore/platform/graphics/FloatPoint.cpp
index 564ea86..7765ba9 100644
--- a/WebCore/platform/graphics/FloatPoint.cpp
+++ b/WebCore/platform/graphics/FloatPoint.cpp
@@ -40,7 +40,7 @@
FloatPoint FloatPoint::matrixTransform(const TransformationMatrix& transform) const
{
double newX, newY;
- transform.map(static_cast<double>(m_x), static_cast<double>(m_y), &newX, &newY);
+ transform.map(static_cast<double>(m_x), static_cast<double>(m_y), newX, newY);
return narrowPrecision(newX, newY);
}
diff --git a/WebCore/platform/graphics/Image.cpp b/WebCore/platform/graphics/Image.cpp
index 49961e1..08d96b4 100644
--- a/WebCore/platform/graphics/Image.cpp
+++ b/WebCore/platform/graphics/Image.cpp
@@ -119,7 +119,7 @@
FloatSize scale(scaledTileSize.width() / intrinsicTileSize.width(),
scaledTileSize.height() / intrinsicTileSize.height());
- TransformationMatrix patternTransform = TransformationMatrix().scale(scale.width(), scale.height());
+ TransformationMatrix patternTransform = TransformationMatrix().scaleNonUniform(scale.width(), scale.height());
FloatRect oneTileRect;
oneTileRect.setX(destRect.x() + fmodf(fmodf(-srcPoint.x(), scaledTileSize.width()) - scaledTileSize.width(), scaledTileSize.width()));
@@ -158,7 +158,7 @@
vRule = RepeatTile;
FloatSize scale = calculatePatternScale(dstRect, srcRect, hRule, vRule);
- TransformationMatrix patternTransform = TransformationMatrix().scale(scale.width(), scale.height());
+ TransformationMatrix patternTransform = TransformationMatrix().scaleNonUniform(scale.width(), scale.height());
// We want to construct the phase such that the pattern is centered (when stretch is not
// set for a particular rule).
diff --git a/WebCore/platform/graphics/cg/GraphicsContextCG.cpp b/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
index 1cc55a4..372e54a 100644
--- a/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
+++ b/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
@@ -907,7 +907,8 @@
TransformationMatrix GraphicsContext::getCTM() const
{
- return CGContextGetCTM(platformContext());
+ CGAffineTransform t = CGContextGetCTM(platformContext());
+ return TransformationMatrix(t.a, t.b, t.c, t.d, t.tx, t.ty);
}
FloatRect GraphicsContext::roundToDevicePixels(const FloatRect& rect)
diff --git a/WebCore/platform/graphics/cg/PatternCG.cpp b/WebCore/platform/graphics/cg/PatternCG.cpp
index 36be001..697bc57 100644
--- a/WebCore/platform/graphics/cg/PatternCG.cpp
+++ b/WebCore/platform/graphics/cg/PatternCG.cpp
@@ -56,7 +56,7 @@
TransformationMatrix patternTransform = m_patternSpaceTransformation;
patternTransform.multiply(userSpaceTransformation);
- patternTransform.scale(1, -1);
+ patternTransform.scaleNonUniform(1, -1);
patternTransform.translate(0, -tileRect.height());
// If FLT_MAX should also be used for xStep or yStep, nothing is rendered. Using fractions of FLT_MAX also
diff --git a/WebCore/platform/graphics/cg/TransformationMatrixCG.cpp b/WebCore/platform/graphics/cg/TransformationMatrixCG.cpp
index 9b3181a..568a6b3 100644
--- a/WebCore/platform/graphics/cg/TransformationMatrixCG.cpp
+++ b/WebCore/platform/graphics/cg/TransformationMatrixCG.cpp
@@ -28,187 +28,19 @@
#if PLATFORM(CG)
+#include <CoreGraphics/CGAffineTransform.h>
#include "FloatConversion.h"
-#include "FloatRect.h"
-#include "IntRect.h"
-
-#include <wtf/MathExtras.h>
namespace WebCore {
-TransformationMatrix::TransformationMatrix()
- : m_transform(CGAffineTransformIdentity)
+TransformationMatrix::operator CGAffineTransform() const
{
-}
-
-TransformationMatrix::TransformationMatrix(double a, double b, double c, double d, double tx, double ty)
-{
- m_transform = CGAffineTransformMake(narrowPrecisionToCGFloat(a),
- narrowPrecisionToCGFloat(b),
- narrowPrecisionToCGFloat(c),
- narrowPrecisionToCGFloat(d),
- narrowPrecisionToCGFloat(tx),
- narrowPrecisionToCGFloat(ty));
-}
-
-TransformationMatrix::TransformationMatrix(const PlatformTransformationMatrix& t)
- : m_transform(t)
-{
-}
-
-void TransformationMatrix::setMatrix(double a, double b, double c, double d, double tx, double ty)
-{
- m_transform = CGAffineTransformMake(narrowPrecisionToCGFloat(a),
- narrowPrecisionToCGFloat(b),
- narrowPrecisionToCGFloat(c),
- narrowPrecisionToCGFloat(d),
- narrowPrecisionToCGFloat(tx),
- narrowPrecisionToCGFloat(ty));
-}
-
-void TransformationMatrix::map(double x, double y, double *x2, double *y2) const
-{
- CGPoint result = CGPointApplyAffineTransform(CGPointMake(narrowPrecisionToCGFloat(x), narrowPrecisionToCGFloat(y)), m_transform);
- *x2 = result.x;
- *y2 = result.y;
-}
-
-IntRect TransformationMatrix::mapRect(const IntRect &rect) const
-{
- return enclosingIntRect(CGRectApplyAffineTransform(CGRect(rect), m_transform));
-}
-
-FloatRect TransformationMatrix::mapRect(const FloatRect &rect) const
-{
- return FloatRect(CGRectApplyAffineTransform(CGRect(rect), m_transform));
-}
-
-bool TransformationMatrix::isIdentity() const
-{
- return CGAffineTransformIsIdentity(m_transform);
-}
-
-double TransformationMatrix::a() const
-{
- return m_transform.a;
-}
-
-void TransformationMatrix::setA(double a)
-{
- m_transform.a = narrowPrecisionToCGFloat(a);
-}
-
-double TransformationMatrix::b() const
-{
- return m_transform.b;
-}
-
-void TransformationMatrix::setB(double b)
-{
- m_transform.b = narrowPrecisionToCGFloat(b);
-}
-
-double TransformationMatrix::c() const
-{
- return m_transform.c;
-}
-
-void TransformationMatrix::setC(double c)
-{
- m_transform.c = narrowPrecisionToCGFloat(c);
-}
-
-double TransformationMatrix::d() const
-{
- return m_transform.d;
-}
-
-void TransformationMatrix::setD(double d)
-{
- m_transform.d = narrowPrecisionToCGFloat(d);
-}
-
-double TransformationMatrix::e() const
-{
- return m_transform.tx;
-}
-
-void TransformationMatrix::setE(double e)
-{
- m_transform.tx = narrowPrecisionToCGFloat(e);
-}
-
-double TransformationMatrix::f() const
-{
- return m_transform.ty;
-}
-
-void TransformationMatrix::setF(double f)
-{
- m_transform.ty = narrowPrecisionToCGFloat(f);
-}
-
-void TransformationMatrix::reset()
-{
- m_transform = CGAffineTransformIdentity;
-}
-
-TransformationMatrix &TransformationMatrix::scale(double sx, double sy)
-{
- m_transform = CGAffineTransformScale(m_transform, narrowPrecisionToCGFloat(sx), narrowPrecisionToCGFloat(sy));
- return *this;
-}
-
-TransformationMatrix &TransformationMatrix::rotate(double d)
-{
- m_transform = CGAffineTransformRotate(m_transform, narrowPrecisionToCGFloat(deg2rad(d)));
- return *this;
-}
-
-TransformationMatrix &TransformationMatrix::translate(double tx, double ty)
-{
- m_transform = CGAffineTransformTranslate(m_transform, narrowPrecisionToCGFloat(tx), narrowPrecisionToCGFloat(ty));
- return *this;
-}
-
-TransformationMatrix &TransformationMatrix::shear(double sx, double sy)
-{
- CGAffineTransform shear = CGAffineTransformMake(1.0f, narrowPrecisionToCGFloat(sy), narrowPrecisionToCGFloat(sx), 1.0f, 0.0f, 0.0f);
- m_transform = CGAffineTransformConcat(shear, m_transform);
- return *this;
-}
-
-double TransformationMatrix::det() const
-{
- return m_transform.a * m_transform.d - m_transform.b * m_transform.c;
-}
-
-TransformationMatrix TransformationMatrix::inverse() const
-{
- if (isInvertible())
- return TransformationMatrix(CGAffineTransformInvert(m_transform));
- return TransformationMatrix();
-}
-
-TransformationMatrix::operator PlatformTransformationMatrix() const
-{
- return m_transform;
-}
-
-bool TransformationMatrix::operator== (const TransformationMatrix &m2) const
-{
- return CGAffineTransformEqualToTransform(m_transform, CGAffineTransform(m2));
-}
-
-TransformationMatrix &TransformationMatrix::operator*= (const TransformationMatrix &m2)
-{
- m_transform = CGAffineTransformConcat(m_transform, CGAffineTransform(m2));
- return *this;
-}
-
-TransformationMatrix TransformationMatrix::operator* (const TransformationMatrix &m2)
-{
- return CGAffineTransformConcat(m_transform, CGAffineTransform(m2));
+ return CGAffineTransformMake(narrowPrecisionToCGFloat(a()),
+ narrowPrecisionToCGFloat(b()),
+ narrowPrecisionToCGFloat(c()),
+ narrowPrecisionToCGFloat(d()),
+ narrowPrecisionToCGFloat(e()),
+ narrowPrecisionToCGFloat(f()));
}
}
diff --git a/WebCore/platform/graphics/transforms/ScaleTransformOperation.h b/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
index 65d3b73..19ef040 100644
--- a/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
+++ b/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
@@ -54,7 +54,7 @@
virtual bool apply(TransformationMatrix& transform, const IntSize&) const
{
- transform.scale(m_x, m_y);
+ transform.scaleNonUniform(m_x, m_y);
return false;
}
diff --git a/WebCore/platform/graphics/transforms/TransformationMatrix.cpp b/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
index b48d572..a7d9f34 100644
--- a/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
+++ b/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "TransformationMatrix.h"
+#include "FloatPoint3D.h"
#include "FloatRect.h"
#include "FloatQuad.h"
#include "IntRect.h"
@@ -34,76 +35,467 @@
namespace WebCore {
-static void affineTransformDecompose(const TransformationMatrix& matrix, double sr[9])
+//
+// Supporting Math Functions
+//
+// This is a set of function from various places (attributed inline) to do things like
+// inversion and decomposition of a 4x4 matrix. They are used throughout the code
+//
+
+//
+// Adapted from Matrix Inversion by Richard Carling, Graphics Gems <http://tog.acm.org/GraphicsGems/index.html>.
+
+// EULA: The Graphics Gems code is copyright-protected. In other words, you cannot claim the text of the code
+// as your own and resell it. Using the code is permitted in any program, product, or library, non-commercial
+// or commercial. Giving credit is not required, though is a nice gesture. The code comes as-is, and if there
+// are any flaws or problems with any Gems code, nobody involved with Gems - authors, editors, publishers, or
+// webmasters - are to be held responsible. Basically, don't be a jerk, and remember that anything free comes
+// with no guarantee.
+
+typedef double Vector4[4];
+typedef double Vector3[3];
+
+const double SMALL_NUMBER = 1.e-8;
+
+// inverse(original_matrix, inverse_matrix)
+//
+// calculate the inverse of a 4x4 matrix
+//
+// -1
+// A = ___1__ adjoint A
+// det A
+
+// double = determinant2x2(double a, double b, double c, double d)
+//
+// calculate the determinant of a 2x2 matrix.
+
+static double determinant2x2(double a, double b, double c, double d)
{
- TransformationMatrix m(matrix);
+ return a * d - b * c;
+}
- // Compute scaling factors
- double sx = sqrt(m.a() * m.a() + m.b() * m.b());
- double sy = sqrt(m.c() * m.c() + m.d() * m.d());
+// double = determinant3x3(a1, a2, a3, b1, b2, b3, c1, c2, c3)
+//
+// Calculate the determinant of a 3x3 matrix
+// in the form
+//
+// | a1, b1, c1 |
+// | a2, b2, c2 |
+// | a3, b3, c3 |
- /* Compute cross product of transformed unit vectors. If negative,
- one axis was flipped. */
+static double determinant3x3(double a1, double a2, double a3, double b1, double b2, double b3, double c1, double c2, double c3)
+{
+ return a1 * determinant2x2(b2, b3, c2, c3)
+ - b1 * determinant2x2(a2, a3, c2, c3)
+ + c1 * determinant2x2(a2, a3, b2, b3);
+}
- if (m.a() * m.d() - m.c() * m.b() < 0.0) {
- // Flip axis with minimum unit vector dot product
+// double = determinant4x4(matrix)
+//
+// calculate the determinant of a 4x4 matrix.
- if (m.a() < m.d())
- sx = -sx;
- else
- sy = -sy;
+static double determinant4x4(const TransformationMatrix::Matrix4& m)
+{
+ // Assign to individual variable names to aid selecting
+ // correct elements
+
+ double a1 = m[0][0];
+ double b1 = m[0][1];
+ double c1 = m[0][2];
+ double d1 = m[0][3];
+
+ double a2 = m[1][0];
+ double b2 = m[1][1];
+ double c2 = m[1][2];
+ double d2 = m[1][3];
+
+ double a3 = m[2][0];
+ double b3 = m[2][1];
+ double c3 = m[2][2];
+ double d3 = m[2][3];
+
+ double a4 = m[3][0];
+ double b4 = m[3][1];
+ double c4 = m[3][2];
+ double d4 = m[3][3];
+
+ return a1 * determinant3x3(b2, b3, b4, c2, c3, c4, d2, d3, d4)
+ - b1 * determinant3x3(a2, a3, a4, c2, c3, c4, d2, d3, d4)
+ + c1 * determinant3x3(a2, a3, a4, b2, b3, b4, d2, d3, d4)
+ - d1 * determinant3x3(a2, a3, a4, b2, b3, b4, c2, c3, c4);
+}
+
+// adjoint( original_matrix, inverse_matrix )
+//
+// calculate the adjoint of a 4x4 matrix
+//
+// Let a denote the minor determinant of matrix A obtained by
+// ij
+//
+// deleting the ith row and jth column from A.
+//
+// i+j
+// Let b = (-1) a
+// ij ji
+//
+// The matrix B = (b ) is the adjoint of A
+// ij
+
+static void adjoint(const TransformationMatrix::Matrix4& matrix, TransformationMatrix::Matrix4& result)
+{
+ // Assign to individual variable names to aid
+ // selecting correct values
+ double a1 = matrix[0][0];
+ double b1 = matrix[0][1];
+ double c1 = matrix[0][2];
+ double d1 = matrix[0][3];
+
+ double a2 = matrix[1][0];
+ double b2 = matrix[1][1];
+ double c2 = matrix[1][2];
+ double d2 = matrix[1][3];
+
+ double a3 = matrix[2][0];
+ double b3 = matrix[2][1];
+ double c3 = matrix[2][2];
+ double d3 = matrix[2][3];
+
+ double a4 = matrix[3][0];
+ double b4 = matrix[3][1];
+ double c4 = matrix[3][2];
+ double d4 = matrix[3][3];
+
+ // Row column labeling reversed since we transpose rows & columns
+ result[0][0] = determinant3x3(b2, b3, b4, c2, c3, c4, d2, d3, d4);
+ result[1][0] = - determinant3x3(a2, a3, a4, c2, c3, c4, d2, d3, d4);
+ result[2][0] = determinant3x3(a2, a3, a4, b2, b3, b4, d2, d3, d4);
+ result[3][0] = - determinant3x3(a2, a3, a4, b2, b3, b4, c2, c3, c4);
+
+ result[0][1] = - determinant3x3(b1, b3, b4, c1, c3, c4, d1, d3, d4);
+ result[1][1] = determinant3x3(a1, a3, a4, c1, c3, c4, d1, d3, d4);
+ result[2][1] = - determinant3x3(a1, a3, a4, b1, b3, b4, d1, d3, d4);
+ result[3][1] = determinant3x3(a1, a3, a4, b1, b3, b4, c1, c3, c4);
+
+ result[0][2] = determinant3x3(b1, b2, b4, c1, c2, c4, d1, d2, d4);
+ result[1][2] = - determinant3x3(a1, a2, a4, c1, c2, c4, d1, d2, d4);
+ result[2][2] = determinant3x3(a1, a2, a4, b1, b2, b4, d1, d2, d4);
+ result[3][2] = - determinant3x3(a1, a2, a4, b1, b2, b4, c1, c2, c4);
+
+ result[0][3] = - determinant3x3(b1, b2, b3, c1, c2, c3, d1, d2, d3);
+ result[1][3] = determinant3x3(a1, a2, a3, c1, c2, c3, d1, d2, d3);
+ result[2][3] = - determinant3x3(a1, a2, a3, b1, b2, b3, d1, d2, d3);
+ result[3][3] = determinant3x3(a1, a2, a3, b1, b2, b3, c1, c2, c3);
+}
+
+// Returns false if the matrix is not invertible
+static bool inverse(const TransformationMatrix::Matrix4& matrix, TransformationMatrix::Matrix4& result)
+{
+ // Calculate the adjoint matrix
+ adjoint(matrix, result);
+
+ // Calculate the 4x4 determinant
+ // If the determinant is zero,
+ // then the inverse matrix is not unique.
+ double det = determinant4x4(matrix);
+
+ if (fabs(det) < SMALL_NUMBER)
+ return false;
+
+ // Scale the adjoint matrix to get the inverse
+
+ for (int i = 0; i < 4; i++)
+ for (int j = 0; j < 4; j++)
+ result[i][j] = result[i][j] / det;
+
+ return true;
+}
+
+// End of code adapted from Matrix Inversion by Richard Carling
+
+// Perform a decomposition on the passed matrix, return false if unsuccessful
+// From Graphics Gems: unmatrix.c
+
+// Transpose rotation portion of matrix a, return b
+static void transposeMatrix4(const TransformationMatrix::Matrix4& a, TransformationMatrix::Matrix4& b)
+{
+ for (int i = 0; i < 4; i++)
+ for (int j = 0; j < 4; j++)
+ b[i][j] = a[j][i];
+}
+
+// Multiply a homogeneous point by a matrix and return the transformed point
+static void v4MulPointByMatrix(const Vector4 p, const TransformationMatrix::Matrix4& m, Vector4 result)
+{
+ result[0] = (p[0] * m[0][0]) + (p[1] * m[1][0]) +
+ (p[2] * m[2][0]) + (p[3] * m[3][0]);
+ result[1] = (p[0] * m[0][1]) + (p[1] * m[1][1]) +
+ (p[2] * m[2][1]) + (p[3] * m[3][1]);
+ result[2] = (p[0] * m[0][2]) + (p[1] * m[1][2]) +
+ (p[2] * m[2][2]) + (p[3] * m[3][2]);
+ result[3] = (p[0] * m[0][3]) + (p[1] * m[1][3]) +
+ (p[2] * m[2][3]) + (p[3] * m[3][3]);
+}
+
+static double v3Length(Vector3 a)
+{
+ return sqrt((a[0] * a[0]) + (a[1] * a[1]) + (a[2] * a[2]));
+}
+
+static void v3Scale(Vector3 v, double desiredLength)
+{
+ double len = v3Length(v);
+ if (len != 0) {
+ double l = desiredLength / len;
+ v[0] *= l;
+ v[1] *= l;
+ v[2] *= l;
+ }
+}
+
+static double v3Dot(const Vector3 a, const Vector3 b)
+{
+ return (a[0] * b[0]) + (a[1] * b[1]) + (a[2] * b[2]);
+}
+
+// Make a linear combination of two vectors and return the result.
+// result = (a * ascl) + (b * bscl)
+static void v3Combine(const Vector3 a, const Vector3 b, Vector3 result, double ascl, double bscl)
+{
+ result[0] = (ascl * a[0]) + (bscl * b[0]);
+ result[1] = (ascl * a[1]) + (bscl * b[1]);
+ result[2] = (ascl * a[2]) + (bscl * b[2]);
+}
+
+// Return the cross product result = a cross b */
+static void v3Cross(const Vector3 a, const Vector3 b, Vector3 result)
+{
+ result[0] = (a[1] * b[2]) - (a[2] * b[1]);
+ result[1] = (a[2] * b[0]) - (a[0] * b[2]);
+ result[2] = (a[0] * b[1]) - (a[1] * b[0]);
+}
+
+static bool decompose(const TransformationMatrix::Matrix4& mat, TransformationMatrix::DecomposedType& result)
+{
+ TransformationMatrix::Matrix4 localMatrix;
+ memcpy(localMatrix, mat, sizeof(TransformationMatrix::Matrix4));
+
+ // Normalize the matrix.
+ if (localMatrix[3][3] == 0)
+ return false;
+
+ int i, j;
+ for (i = 0; i < 4; i++)
+ for (j = 0; j < 4; j++)
+ localMatrix[i][j] /= localMatrix[3][3];
+
+ // perspectiveMatrix is used to solve for perspective, but it also provides
+ // an easy way to test for singularity of the upper 3x3 component.
+ TransformationMatrix::Matrix4 perspectiveMatrix;
+ memcpy(perspectiveMatrix, localMatrix, sizeof(TransformationMatrix::Matrix4));
+ for (i = 0; i < 3; i++)
+ perspectiveMatrix[i][3] = 0;
+ perspectiveMatrix[3][3] = 1;
+
+ if (determinant4x4(perspectiveMatrix) == 0)
+ return false;
+
+ // First, isolate perspective. This is the messiest.
+ if (localMatrix[0][3] != 0 || localMatrix[1][3] != 0 || localMatrix[2][3] != 0) {
+ // rightHandSide is the right hand side of the equation.
+ Vector4 rightHandSide;
+ rightHandSide[0] = localMatrix[0][3];
+ rightHandSide[1] = localMatrix[1][3];
+ rightHandSide[2] = localMatrix[2][3];
+ rightHandSide[3] = localMatrix[3][3];
+
+ // Solve the equation by inverting perspectiveMatrix and multiplying
+ // rightHandSide by the inverse. (This is the easiest way, not
+ // necessarily the best.)
+ TransformationMatrix::Matrix4 inversePerspectiveMatrix, transposedInversePerspectiveMatrix;
+ inverse(perspectiveMatrix, inversePerspectiveMatrix);
+ transposeMatrix4(inversePerspectiveMatrix, transposedInversePerspectiveMatrix);
+
+ Vector4 perspectivePoint;
+ v4MulPointByMatrix(rightHandSide, transposedInversePerspectiveMatrix, perspectivePoint);
+
+ result.perspectiveX = perspectivePoint[0];
+ result.perspectiveY = perspectivePoint[1];
+ result.perspectiveZ = perspectivePoint[2];
+ result.perspectiveW = perspectivePoint[3];
+
+ // Clear the perspective partition
+ localMatrix[0][3] = localMatrix[1][3] = localMatrix[2][3] = 0;
+ localMatrix[3][3] = 1;
+ } else {
+ // No perspective.
+ result.perspectiveX = result.perspectiveY = result.perspectiveZ = 0;
+ result.perspectiveW = 1;
+ }
+
+ // Next take care of translation (easy).
+ result.translateX = localMatrix[3][0];
+ localMatrix[3][0] = 0;
+ result.translateY = localMatrix[3][1];
+ localMatrix[3][1] = 0;
+ result.translateZ = localMatrix[3][2];
+ localMatrix[3][2] = 0;
+
+ // Vector4 type and functions need to be added to the common set.
+ Vector3 row[3], pdum3;
+
+ // Now get scale and shear.
+ for (i = 0; i < 3; i++) {
+ row[i][0] = localMatrix[i][0];
+ row[i][1] = localMatrix[i][1];
+ row[i][2] = localMatrix[i][2];
}
- // Remove scale from matrix
+ // Compute X scale factor and normalize first row.
+ result.scaleX = v3Length(row[0]);
+ v3Scale(row[0], 1.0);
- m.scale(1.0 / sx, 1.0 / sy);
+ // Compute XY shear factor and make 2nd row orthogonal to 1st.
+ result.skewXY = v3Dot(row[0], row[1]);
+ v3Combine(row[1], row[0], row[1], 1.0, -result.skewXY);
- // Compute rotation
+ // Now, compute Y scale and normalize 2nd row.
+ result.scaleY = v3Length(row[1]);
+ v3Scale(row[1], 1.0);
+ result.skewXY /= result.scaleY;
- double angle = atan2(m.b(), m.a());
+ // Compute XZ and YZ shears, orthogonalize 3rd row.
+ result.skewXZ = v3Dot(row[0], row[2]);
+ v3Combine(row[2], row[0], row[2], 1.0, -result.skewXZ);
+ result.skewYZ = v3Dot(row[1], row[2]);
+ v3Combine(row[2], row[1], row[2], 1.0, -result.skewYZ);
- // Remove rotation from matrix
+ // Next, get Z scale and normalize 3rd row.
+ result.scaleZ = v3Length(row[2]);
+ v3Scale(row[2], 1.0);
+ result.skewXZ /= result.scaleZ;
+ result.skewYZ /= result.scaleZ;
+
+ // At this point, the matrix (in rows[]) is orthonormal.
+ // Check for a coordinate system flip. If the determinant
+ // is -1, then negate the matrix and the scaling factors.
+ v3Cross(row[1], row[2], pdum3);
+ if (v3Dot(row[0], pdum3) < 0) {
+ for (i = 0; i < 3; i++) {
+ result.scaleX *= -1;
+ row[i][0] *= -1;
+ row[i][1] *= -1;
+ row[i][2] *= -1;
+ }
+ }
+
+ // Now, get the rotations out, as described in the gem.
+
+ // FIXME - Add the ability to return either quaternions (which are
+ // easier to recompose with) or Euler angles (rx, ry, rz), which
+ // are easier for authors to deal with. The latter will only be useful
+ // when we fix https://bugs.webkit.org/show_bug.cgi?id=23799, so I
+ // will leave the Euler angle code here for now.
- m.rotate(rad2deg(-angle));
+ // ret.rotateY = asin(-row[0][2]);
+ // if (cos(ret.rotateY) != 0) {
+ // ret.rotateX = atan2(row[1][2], row[2][2]);
+ // ret.rotateZ = atan2(row[0][1], row[0][0]);
+ // } else {
+ // ret.rotateX = atan2(-row[2][0], row[1][1]);
+ // ret.rotateZ = 0;
+ // }
+
+ double s, t, x, y, z, w;
- // Return results
+ t = row[0][0] + row[1][1] + row[2][2] + 1.0;
- sr[0] = sx; sr[1] = sy; sr[2] = angle;
- sr[3] = m.a(); sr[4] = m.b();
- sr[5] = m.c(); sr[6] = m.d();
- sr[7] = m.e(); sr[8] = m.f();
+ if (t > 1e-4) {
+ s = 0.5 / sqrt(t);
+ w = 0.25 / s;
+ x = (row[2][1] - row[1][2]) * s;
+ y = (row[0][2] - row[2][0]) * s;
+ z = (row[1][0] - row[0][1]) * s;
+ } else if (row[0][0] > row[1][1] && row[0][0] > row[2][2]) {
+ s = sqrt (1.0 + row[0][0] - row[1][1] - row[2][2]) * 2.0; // S=4*qx
+ x = 0.25 * s;
+ y = (row[0][1] + row[1][0]) / s;
+ z = (row[0][2] + row[2][0]) / s;
+ w = (row[2][1] - row[1][2]) / s;
+ } else if (row[1][1] > row[2][2]) {
+ s = sqrt (1.0 + row[1][1] - row[0][0] - row[2][2]) * 2.0; // S=4*qy
+ x = (row[0][1] + row[1][0]) / s;
+ y = 0.25 * s;
+ z = (row[1][2] + row[2][1]) / s;
+ w = (row[0][2] - row[2][0]) / s;
+ } else {
+ s = sqrt(1.0 + row[2][2] - row[0][0] - row[1][1]) * 2.0; // S=4*qz
+ x = (row[0][2] + row[2][0]) / s;
+ y = (row[1][2] + row[2][1]) / s;
+ z = 0.25 * s;
+ w = (row[1][0] - row[0][1]) / s;
+ }
+
+ result.quaternionX = x;
+ result.quaternionY = y;
+ result.quaternionZ = z;
+ result.quaternionW = w;
+
+ return true;
}
-static void affineTransformCompose(TransformationMatrix& m, const double sr[9])
+// Perform a spherical linear interpolation between the two
+// passed quaternions with 0 <= t <= 1
+static void slerp(double qa[4], const double qb[4], double t)
{
- m.setA(sr[3]);
- m.setB(sr[4]);
- m.setC(sr[5]);
- m.setD(sr[6]);
- m.setE(sr[7]);
- m.setF(sr[8]);
- m.rotate(rad2deg(sr[2]));
- m.scale(sr[0], sr[1]);
+ double ax, ay, az, aw;
+ double bx, by, bz, bw;
+ double cx, cy, cz, cw;
+ double angle;
+ double th, invth, scale, invscale;
+
+ ax = qa[0]; ay = qa[1]; az = qa[2]; aw = qa[3];
+ bx = qb[0]; by = qb[1]; bz = qb[2]; bw = qb[3];
+
+ angle = ax * bx + ay * by + az * bz + aw * bw;
+
+ if (angle < 0.0) {
+ ax = -ax; ay = -ay;
+ az = -az; aw = -aw;
+ angle = -angle;
+ }
+
+ if (angle + 1.0 > .05) {
+ if (1.0 - angle >= .05) {
+ th = acos (angle);
+ invth = 1.0 / sin (th);
+ scale = sin (th * (1.0 - t)) * invth;
+ invscale = sin (th * t) * invth;
+ } else {
+ scale = 1.0 - t;
+ invscale = t;
+ }
+ } else {
+ bx = -ay;
+ by = ax;
+ bz = -aw;
+ bw = az;
+ scale = sin(piDouble * (.5 - t));
+ invscale = sin (piDouble * t);
+ }
+
+ cx = ax * scale + bx * invscale;
+ cy = ay * scale + by * invscale;
+ cz = az * scale + bz * invscale;
+ cw = aw * scale + bw * invscale;
+
+ qa[0] = cx; qa[1] = cy; qa[2] = cz; qa[3] = cw;
}
-bool TransformationMatrix::isInvertible() const
-{
- return det() != 0.0;
-}
-
-TransformationMatrix& TransformationMatrix::multiply(const TransformationMatrix& other)
-{
- return (*this) *= other;
-}
+// End of Supporting Math Functions
TransformationMatrix& TransformationMatrix::scale(double s)
{
- return scale(s, s);
-}
-
-TransformationMatrix& TransformationMatrix::scaleNonUniform(double sx, double sy)
-{
- return scale(sx, sy);
+ return scaleNonUniform(s, s);
}
TransformationMatrix& TransformationMatrix::rotateFromVector(double x, double y)
@@ -113,93 +505,521 @@
TransformationMatrix& TransformationMatrix::flipX()
{
- return scale(-1.0f, 1.0f);
+ return scaleNonUniform(-1.0f, 1.0f);
}
TransformationMatrix& TransformationMatrix::flipY()
{
- return scale(1.0f, -1.0f);
-}
-
-TransformationMatrix& TransformationMatrix::skew(double angleX, double angleY)
-{
- return shear(tan(deg2rad(angleX)), tan(deg2rad(angleY)));
-}
-
-TransformationMatrix& TransformationMatrix::skewX(double angle)
-{
- return shear(tan(deg2rad(angle)), 0.0f);
-}
-
-TransformationMatrix& TransformationMatrix::skewY(double angle)
-{
- return shear(0.0f, tan(deg2rad(angle)));
+ return scaleNonUniform(1.0f, -1.0f);
}
TransformationMatrix makeMapBetweenRects(const FloatRect& source, const FloatRect& dest)
{
TransformationMatrix transform;
transform.translate(dest.x() - source.x(), dest.y() - source.y());
- transform.scale(dest.width() / source.width(), dest.height() / source.height());
+ transform.scaleNonUniform(dest.width() / source.width(), dest.height() / source.height());
return transform;
}
+FloatPoint TransformationMatrix::projectPoint(const FloatPoint& p) const
+{
+ // This is basically raytracing. We have a point in the destination
+ // plane with z=0, and we cast a ray parallel to the z-axis from that
+ // point to find the z-position at which it intersects the z=0 plane
+ // with the transform applied. Once we have that point we apply the
+ // inverse transform to find the corresponding point in the source
+ // space.
+ //
+ // Given a plane with normal Pn, and a ray starting at point R0 and
+ // with direction defined by the vector Rd, we can find the
+ // intersection point as a distance d from R0 in units of Rd by:
+ //
+ // d = -dot (Pn', R0) / dot (Pn', Rd)
+
+ double x = p.x();
+ double y = p.y();
+ double z = -(m13() * x + m23() * y + m43()) / m33();
+
+ double outX = x * m11() + y * m21() + z * m31() + m41();
+ double outY = x * m12() + y * m22() + z * m32() + m42();
+
+ double w = x * m14() + y * m24() + z * m34() + m44();
+ if (w != 1 && w != 0) {
+ outX /= w;
+ outY /= w;
+ }
+
+ return FloatPoint(static_cast<float>(outX), static_cast<float>(outY));
+}
+
+FloatPoint TransformationMatrix::mapPoint(const FloatPoint& p) const
+{
+ double x, y;
+ multVecMatrix(p.x(), p.y(), x, y);
+ return FloatPoint(static_cast<float>(x), static_cast<float>(y));
+}
+
+FloatPoint3D TransformationMatrix::mapPoint(const FloatPoint3D& p) const
+{
+ double x, y, z;
+ multVecMatrix(p.x(), p.y(), p.z(), x, y, z);
+ return FloatPoint3D(static_cast<float>(x), static_cast<float>(y), static_cast<float>(z));
+}
+
IntPoint TransformationMatrix::mapPoint(const IntPoint& point) const
{
- double x2, y2;
- map(point.x(), point.y(), &x2, &y2);
+ double x, y;
+ multVecMatrix(point.x(), point.y(), x, y);
// Round the point.
- return IntPoint(lround(x2), lround(y2));
+ return IntPoint(lround(x), lround(y));
}
-FloatPoint TransformationMatrix::mapPoint(const FloatPoint& point) const
+IntRect TransformationMatrix::mapRect(const IntRect &rect) const
{
- double x2, y2;
- map(point.x(), point.y(), &x2, &y2);
-
- return FloatPoint(static_cast<float>(x2), static_cast<float>(y2));
+ return enclosingIntRect(mapRect(FloatRect(rect)));
}
-FloatQuad TransformationMatrix::mapQuad(const FloatQuad& quad) const
+FloatRect TransformationMatrix::mapRect(const FloatRect& r) const
{
- // FIXME: avoid 4 seperate library calls. Point mapping really needs
- // to be platform-independent code.
- return FloatQuad(mapPoint(quad.p1()),
- mapPoint(quad.p2()),
- mapPoint(quad.p3()),
- mapPoint(quad.p4()));
+ FloatQuad resultQuad = mapQuad(FloatQuad(r));
+ return resultQuad.boundingBox();
+}
+
+FloatQuad TransformationMatrix::mapQuad(const FloatQuad& q) const
+{
+ FloatQuad result;
+ result.setP1(mapPoint(q.p1()));
+ result.setP2(mapPoint(q.p2()));
+ result.setP3(mapPoint(q.p3()));
+ result.setP4(mapPoint(q.p4()));
+ return result;
+}
+
+TransformationMatrix& TransformationMatrix::scaleNonUniform(double sx, double sy)
+{
+ TransformationMatrix mat;
+ mat.m_matrix[0][0] = sx;
+ mat.m_matrix[1][1] = sy;
+
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::scale3d(double sx, double sy, double sz)
+{
+ TransformationMatrix mat;
+ mat.m_matrix[0][0] = sx;
+ mat.m_matrix[1][1] = sy;
+ mat.m_matrix[2][2] = sz;
+
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::rotate3d(double x, double y, double z, double angle)
+{
+ // angles are in degrees. Switch to radians
+ angle = deg2rad(angle);
+
+ angle /= 2.0f;
+ double sinA = sin(angle);
+ double cosA = cos(angle);
+ double sinA2 = sinA * sinA;
+
+ // normalize
+ double length = sqrt(x * x + y * y + z * z);
+ if (length == 0) {
+ // bad vector, just use something reasonable
+ x = 0;
+ y = 0;
+ z = 1;
+ } else if (length != 1) {
+ x /= length;
+ y /= length;
+ z /= length;
+ }
+
+ TransformationMatrix mat;
+
+ // optimize case where axis is along major axis
+ if (x == 1.0f && y == 0.0f && z == 0.0f) {
+ mat.m_matrix[0][0] = 1.0f;
+ mat.m_matrix[0][1] = 0.0f;
+ mat.m_matrix[0][2] = 0.0f;
+ mat.m_matrix[1][0] = 0.0f;
+ mat.m_matrix[1][1] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[1][2] = 2.0f * sinA * cosA;
+ mat.m_matrix[2][0] = 0.0f;
+ mat.m_matrix[2][1] = -2.0f * sinA * cosA;
+ mat.m_matrix[2][2] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+ } else if (x == 0.0f && y == 1.0f && z == 0.0f) {
+ mat.m_matrix[0][0] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][1] = 0.0f;
+ mat.m_matrix[0][2] = -2.0f * sinA * cosA;
+ mat.m_matrix[1][0] = 0.0f;
+ mat.m_matrix[1][1] = 1.0f;
+ mat.m_matrix[1][2] = 0.0f;
+ mat.m_matrix[2][0] = 2.0f * sinA * cosA;
+ mat.m_matrix[2][1] = 0.0f;
+ mat.m_matrix[2][2] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+ } else if (x == 0.0f && y == 0.0f && z == 1.0f) {
+ mat.m_matrix[0][0] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][1] = 2.0f * sinA * cosA;
+ mat.m_matrix[0][2] = 0.0f;
+ mat.m_matrix[1][0] = -2.0f * sinA * cosA;
+ mat.m_matrix[1][1] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[1][2] = 0.0f;
+ mat.m_matrix[2][0] = 0.0f;
+ mat.m_matrix[2][1] = 0.0f;
+ mat.m_matrix[2][2] = 1.0f;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+ } else {
+ double x2 = x*x;
+ double y2 = y*y;
+ double z2 = z*z;
+
+ mat.m_matrix[0][0] = 1.0f - 2.0f * (y2 + z2) * sinA2;
+ mat.m_matrix[0][1] = 2.0f * (x * y * sinA2 + z * sinA * cosA);
+ mat.m_matrix[0][2] = 2.0f * (x * z * sinA2 - y * sinA * cosA);
+ mat.m_matrix[1][0] = 2.0f * (y * x * sinA2 - z * sinA * cosA);
+ mat.m_matrix[1][1] = 1.0f - 2.0f * (z2 + x2) * sinA2;
+ mat.m_matrix[1][2] = 2.0f * (y * z * sinA2 + x * sinA * cosA);
+ mat.m_matrix[2][0] = 2.0f * (z * x * sinA2 + y * sinA * cosA);
+ mat.m_matrix[2][1] = 2.0f * (z * y * sinA2 - x * sinA * cosA);
+ mat.m_matrix[2][2] = 1.0f - 2.0f * (x2 + y2) * sinA2;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+ }
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::rotate3d(double rx, double ry, double rz)
+{
+ // angles are in degrees. Switch to radians
+ rx = deg2rad(rx);
+ ry = deg2rad(ry);
+ rz = deg2rad(rz);
+
+ TransformationMatrix mat;
+
+ rz /= 2.0f;
+ double sinA = sin(rz);
+ double cosA = cos(rz);
+ double sinA2 = sinA * sinA;
+
+ mat.m_matrix[0][0] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][1] = 2.0f * sinA * cosA;
+ mat.m_matrix[0][2] = 0.0f;
+ mat.m_matrix[1][0] = -2.0f * sinA * cosA;
+ mat.m_matrix[1][1] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[1][2] = 0.0f;
+ mat.m_matrix[2][0] = 0.0f;
+ mat.m_matrix[2][1] = 0.0f;
+ mat.m_matrix[2][2] = 1.0f;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+
+ TransformationMatrix rmat(mat);
+
+ ry /= 2.0f;
+ sinA = sin(ry);
+ cosA = cos(ry);
+ sinA2 = sinA * sinA;
+
+ mat.m_matrix[0][0] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][1] = 0.0f;
+ mat.m_matrix[0][2] = -2.0f * sinA * cosA;
+ mat.m_matrix[1][0] = 0.0f;
+ mat.m_matrix[1][1] = 1.0f;
+ mat.m_matrix[1][2] = 0.0f;
+ mat.m_matrix[2][0] = 2.0f * sinA * cosA;
+ mat.m_matrix[2][1] = 0.0f;
+ mat.m_matrix[2][2] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+
+ rmat.multLeft(mat);
+
+ rx /= 2.0f;
+ sinA = sin(rx);
+ cosA = cos(rx);
+ sinA2 = sinA * sinA;
+
+ mat.m_matrix[0][0] = 1.0f;
+ mat.m_matrix[0][1] = 0.0f;
+ mat.m_matrix[0][2] = 0.0f;
+ mat.m_matrix[1][0] = 0.0f;
+ mat.m_matrix[1][1] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[1][2] = 2.0f * sinA * cosA;
+ mat.m_matrix[2][0] = 0.0f;
+ mat.m_matrix[2][1] = -2.0f * sinA * cosA;
+ mat.m_matrix[2][2] = 1.0f - 2.0f * sinA2;
+ mat.m_matrix[0][3] = mat.m_matrix[1][3] = mat.m_matrix[2][3] = 0.0f;
+ mat.m_matrix[3][0] = mat.m_matrix[3][1] = mat.m_matrix[3][2] = 0.0f;
+ mat.m_matrix[3][3] = 1.0f;
+
+ rmat.multLeft(mat);
+
+ multLeft(rmat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::translate(double tx, double ty)
+{
+ TransformationMatrix mat;
+ mat.m_matrix[3][0] = tx;
+ mat.m_matrix[3][1] = ty;
+
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::translate3d(double tx, double ty, double tz)
+{
+ TransformationMatrix mat;
+ mat.m_matrix[3][0] = tx;
+ mat.m_matrix[3][1] = ty;
+ mat.m_matrix[3][2] = tz;
+
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::skew(double sx, double sy)
+{
+ // angles are in degrees. Switch to radians
+ sx = deg2rad(sx);
+ sy = deg2rad(sy);
+
+ TransformationMatrix mat;
+ mat.m_matrix[0][1] = tan(sy); // note that the y shear goes in the first row
+ mat.m_matrix[1][0] = tan(sx); // and the x shear in the second row
+
+ multLeft(mat);
+ return *this;
+}
+
+TransformationMatrix& TransformationMatrix::applyPerspective(double p)
+{
+ TransformationMatrix mat;
+ if (p != 0)
+ mat.m_matrix[2][3] = -1/p;
+
+ multLeft(mat);
+ return *this;
+}
+
+//
+// *this = mat * *this
+//
+TransformationMatrix& TransformationMatrix::multLeft(const TransformationMatrix& mat)
+{
+ Matrix4 tmp;
+
+ tmp[0][0] = (mat.m_matrix[0][0] * m_matrix[0][0] + mat.m_matrix[0][1] * m_matrix[1][0]
+ + mat.m_matrix[0][2] * m_matrix[2][0] + mat.m_matrix[0][3] * m_matrix[3][0]);
+ tmp[0][1] = (mat.m_matrix[0][0] * m_matrix[0][1] + mat.m_matrix[0][1] * m_matrix[1][1]
+ + mat.m_matrix[0][2] * m_matrix[2][1] + mat.m_matrix[0][3] * m_matrix[3][1]);
+ tmp[0][2] = (mat.m_matrix[0][0] * m_matrix[0][2] + mat.m_matrix[0][1] * m_matrix[1][2]
+ + mat.m_matrix[0][2] * m_matrix[2][2] + mat.m_matrix[0][3] * m_matrix[3][2]);
+ tmp[0][3] = (mat.m_matrix[0][0] * m_matrix[0][3] + mat.m_matrix[0][1] * m_matrix[1][3]
+ + mat.m_matrix[0][2] * m_matrix[2][3] + mat.m_matrix[0][3] * m_matrix[3][3]);
+
+ tmp[1][0] = (mat.m_matrix[1][0] * m_matrix[0][0] + mat.m_matrix[1][1] * m_matrix[1][0]
+ + mat.m_matrix[1][2] * m_matrix[2][0] + mat.m_matrix[1][3] * m_matrix[3][0]);
+ tmp[1][1] = (mat.m_matrix[1][0] * m_matrix[0][1] + mat.m_matrix[1][1] * m_matrix[1][1]
+ + mat.m_matrix[1][2] * m_matrix[2][1] + mat.m_matrix[1][3] * m_matrix[3][1]);
+ tmp[1][2] = (mat.m_matrix[1][0] * m_matrix[0][2] + mat.m_matrix[1][1] * m_matrix[1][2]
+ + mat.m_matrix[1][2] * m_matrix[2][2] + mat.m_matrix[1][3] * m_matrix[3][2]);
+ tmp[1][3] = (mat.m_matrix[1][0] * m_matrix[0][3] + mat.m_matrix[1][1] * m_matrix[1][3]
+ + mat.m_matrix[1][2] * m_matrix[2][3] + mat.m_matrix[1][3] * m_matrix[3][3]);
+
+ tmp[2][0] = (mat.m_matrix[2][0] * m_matrix[0][0] + mat.m_matrix[2][1] * m_matrix[1][0]
+ + mat.m_matrix[2][2] * m_matrix[2][0] + mat.m_matrix[2][3] * m_matrix[3][0]);
+ tmp[2][1] = (mat.m_matrix[2][0] * m_matrix[0][1] + mat.m_matrix[2][1] * m_matrix[1][1]
+ + mat.m_matrix[2][2] * m_matrix[2][1] + mat.m_matrix[2][3] * m_matrix[3][1]);
+ tmp[2][2] = (mat.m_matrix[2][0] * m_matrix[0][2] + mat.m_matrix[2][1] * m_matrix[1][2]
+ + mat.m_matrix[2][2] * m_matrix[2][2] + mat.m_matrix[2][3] * m_matrix[3][2]);
+ tmp[2][3] = (mat.m_matrix[2][0] * m_matrix[0][3] + mat.m_matrix[2][1] * m_matrix[1][3]
+ + mat.m_matrix[2][2] * m_matrix[2][3] + mat.m_matrix[2][3] * m_matrix[3][3]);
+
+ tmp[3][0] = (mat.m_matrix[3][0] * m_matrix[0][0] + mat.m_matrix[3][1] * m_matrix[1][0]
+ + mat.m_matrix[3][2] * m_matrix[2][0] + mat.m_matrix[3][3] * m_matrix[3][0]);
+ tmp[3][1] = (mat.m_matrix[3][0] * m_matrix[0][1] + mat.m_matrix[3][1] * m_matrix[1][1]
+ + mat.m_matrix[3][2] * m_matrix[2][1] + mat.m_matrix[3][3] * m_matrix[3][1]);
+ tmp[3][2] = (mat.m_matrix[3][0] * m_matrix[0][2] + mat.m_matrix[3][1] * m_matrix[1][2]
+ + mat.m_matrix[3][2] * m_matrix[2][2] + mat.m_matrix[3][3] * m_matrix[3][2]);
+ tmp[3][3] = (mat.m_matrix[3][0] * m_matrix[0][3] + mat.m_matrix[3][1] * m_matrix[1][3]
+ + mat.m_matrix[3][2] * m_matrix[2][3] + mat.m_matrix[3][3] * m_matrix[3][3]);
+
+ setMatrix(tmp);
+ return *this;
+}
+
+void TransformationMatrix::multVecMatrix(double x, double y, double& resultX, double& resultY) const
+{
+ resultX = m_matrix[3][0] + x * m_matrix[0][0] + y * m_matrix[1][0];
+ resultY = m_matrix[3][1] + x * m_matrix[0][1] + y * m_matrix[1][1];
+ double w = m_matrix[3][3] + x * m_matrix[0][3] + y * m_matrix[1][3];
+ if (w != 1 && w != 0) {
+ resultX /= w;
+ resultY /= w;
+ }
+}
+
+void TransformationMatrix::multVecMatrix(double x, double y, double z, double& resultX, double& resultY, double& resultZ) const
+{
+ resultX = m_matrix[3][0] + x * m_matrix[0][0] + y * m_matrix[1][0] + z * m_matrix[2][0];
+ resultY = m_matrix[3][1] + x * m_matrix[0][1] + y * m_matrix[1][1] + z * m_matrix[2][1];
+ resultZ = m_matrix[3][2] + x * m_matrix[0][2] + y * m_matrix[1][2] + z * m_matrix[2][2];
+ double w = m_matrix[3][3] + x * m_matrix[0][3] + y * m_matrix[1][3] + z * m_matrix[2][3];
+ if (w != 1 && w != 0) {
+ resultX /= w;
+ resultY /= w;
+ resultZ /= w;
+ }
+}
+
+bool TransformationMatrix::isInvertible() const
+{
+ double det = WebCore::determinant4x4(m_matrix);
+
+ if (fabs(det) < SMALL_NUMBER)
+ return false;
+
+ return true;
+}
+
+TransformationMatrix TransformationMatrix::inverse() const
+{
+ TransformationMatrix invMat;
+
+ bool inverted = WebCore::inverse(m_matrix, invMat.m_matrix);
+ if (!inverted)
+ return TransformationMatrix();
+
+ return invMat;
+}
+
+static inline void blendFloat(double& from, double to, double progress)
+{
+ if (from != to)
+ from = from + (to - from) * progress;
}
void TransformationMatrix::blend(const TransformationMatrix& from, double progress)
{
- double srA[9], srB[9];
+ if (from.isIdentity() && isIdentity())
+ return;
+
+ // decompose
+ DecomposedType fromDecomp;
+ DecomposedType toDecomp;
+ from.decompose(fromDecomp);
+ decompose(toDecomp);
- affineTransformDecompose(from, srA);
- affineTransformDecompose(*this, srB);
+ // interpolate
+ blendFloat(fromDecomp.scaleX, toDecomp.scaleX, progress);
+ blendFloat(fromDecomp.scaleY, toDecomp.scaleY, progress);
+ blendFloat(fromDecomp.scaleZ, toDecomp.scaleZ, progress);
+ blendFloat(fromDecomp.skewXY, toDecomp.skewXY, progress);
+ blendFloat(fromDecomp.skewXZ, toDecomp.skewXZ, progress);
+ blendFloat(fromDecomp.skewYZ, toDecomp.skewYZ, progress);
+ blendFloat(fromDecomp.translateX, toDecomp.translateX, progress);
+ blendFloat(fromDecomp.translateY, toDecomp.translateY, progress);
+ blendFloat(fromDecomp.translateZ, toDecomp.translateZ, progress);
+ blendFloat(fromDecomp.perspectiveX, toDecomp.perspectiveX, progress);
+ blendFloat(fromDecomp.perspectiveY, toDecomp.perspectiveY, progress);
+ blendFloat(fromDecomp.perspectiveZ, toDecomp.perspectiveZ, progress);
+ blendFloat(fromDecomp.perspectiveW, toDecomp.perspectiveW, progress);
+
+ slerp(&fromDecomp.quaternionX, &toDecomp.quaternionX, progress);
+
+ // recompose
+ recompose(fromDecomp);
+}
- // If x-axis of one is flipped, and y-axis of the other, convert to an unflipped rotation.
- if ((srA[0] < 0.0 && srB[1] < 0.0) || (srA[1] < 0.0 && srB[0] < 0.0)) {
- srA[0] = -srA[0];
- srA[1] = -srA[1];
- srA[2] += srA[2] < 0 ? piDouble : -piDouble;
+bool TransformationMatrix::decompose(DecomposedType& decomp) const
+{
+ if (isIdentity()) {
+ memset(&decomp, 0, sizeof(decomp));
+ decomp.perspectiveW = 1;
+ decomp.scaleX = 1;
+ decomp.scaleY = 1;
+ decomp.scaleZ = 1;
}
+
+ if (!WebCore::decompose(m_matrix, decomp))
+ return false;
+ return true;
+}
- // Don't rotate the long way around.
- srA[2] = fmod(srA[2], 2.0 * piDouble);
- srB[2] = fmod(srB[2], 2.0 * piDouble);
-
- if (fabs(srA[2] - srB[2]) > piDouble) {
- if (srA[2] > srB[2])
- srA[2] -= piDouble * 2.0;
- else
- srB[2] -= piDouble * 2.0;
+void TransformationMatrix::recompose(const DecomposedType& decomp)
+{
+ makeIdentity();
+
+ // first apply perspective
+ m_matrix[0][3] = (float) decomp.perspectiveX;
+ m_matrix[1][3] = (float) decomp.perspectiveY;
+ m_matrix[2][3] = (float) decomp.perspectiveZ;
+ m_matrix[3][3] = (float) decomp.perspectiveW;
+
+ // now translate
+ translate3d((float) decomp.translateX, (float) decomp.translateY, (float) decomp.translateZ);
+
+ // apply rotation
+ double xx = decomp.quaternionX * decomp.quaternionX;
+ double xy = decomp.quaternionX * decomp.quaternionY;
+ double xz = decomp.quaternionX * decomp.quaternionZ;
+ double xw = decomp.quaternionX * decomp.quaternionW;
+ double yy = decomp.quaternionY * decomp.quaternionY;
+ double yz = decomp.quaternionY * decomp.quaternionZ;
+ double yw = decomp.quaternionY * decomp.quaternionW;
+ double zz = decomp.quaternionZ * decomp.quaternionZ;
+ double zw = decomp.quaternionZ * decomp.quaternionW;
+
+ // Construct a composite rotation matrix from the quaternion values
+ TransformationMatrix rotationMatrix(1 - 2 * (yy + zz), 2 * (xy - zw), 2 * (xz + yw), 0,
+ 2 * (xy + zw), 1 - 2 * (xx + zz), 2 * (yz - xw), 0,
+ 2 * (xz - yw), 2 * (yz + xw), 1 - 2 * (xx + yy), 0,
+ 0, 0, 0, 1);
+
+ multLeft(rotationMatrix);
+
+ // now apply skew
+ if (decomp.skewYZ) {
+ TransformationMatrix tmp;
+ tmp.setM32((float) decomp.skewYZ);
+ multLeft(tmp);
}
-
- for (int i = 0; i < 9; i++)
- srA[i] = srA[i] + progress * (srB[i] - srA[i]);
-
- affineTransformCompose(*this, srA);
+
+ if (decomp.skewXZ) {
+ TransformationMatrix tmp;
+ tmp.setM31((float) decomp.skewXZ);
+ multLeft(tmp);
+ }
+
+ if (decomp.skewXY) {
+ TransformationMatrix tmp;
+ tmp.setM21((float) decomp.skewXY);
+ multLeft(tmp);
+ }
+
+ // finally, apply scale
+ scale3d((float) decomp.scaleX, (float) decomp.scaleY, (float) decomp.scaleZ);
}
}
diff --git a/WebCore/platform/graphics/transforms/TransformationMatrix.h b/WebCore/platform/graphics/transforms/TransformationMatrix.h
index e09bf85..6c7e219 100644
--- a/WebCore/platform/graphics/transforms/TransformationMatrix.h
+++ b/WebCore/platform/graphics/transforms/TransformationMatrix.h
@@ -28,20 +28,6 @@
#if PLATFORM(CG)
#include <CoreGraphics/CGAffineTransform.h>
-typedef CGAffineTransform PlatformTransformationMatrix;
-#elif PLATFORM(QT)
-#include <QMatrix>
-typedef QMatrix PlatformTransformationMatrix;
-#elif PLATFORM(CAIRO)
-#include <cairo.h>
-typedef cairo_matrix_t PlatformTransformationMatrix;
-#elif PLATFORM(SKIA)
-#include "SkMatrix.h"
-typedef SkMatrix PlatformTransformationMatrix;
-#elif PLATFORM(WX) && USE(WXGC)
-#include <wx/defs.h>
-#include <wx/graphics.h>
-typedef wxGraphicsMatrix PlatformTransformationMatrix;
#endif
namespace WebCore {
@@ -49,91 +35,261 @@
class IntPoint;
class IntRect;
class FloatPoint;
+class FloatPoint3D;
class FloatRect;
class FloatQuad;
class TransformationMatrix {
public:
- TransformationMatrix();
- TransformationMatrix(double a, double b, double c, double d, double e, double f);
-#if !PLATFORM(WX) || USE(WXGC)
- TransformationMatrix(const PlatformTransformationMatrix&);
-#endif
+ typedef double Matrix4[4][4];
- void setMatrix(double a, double b, double c, double d, double e, double f);
- void map(double x, double y, double *x2, double *y2) const;
+ TransformationMatrix() { makeIdentity(); }
+ TransformationMatrix(const TransformationMatrix& t) { *this = t; }
+ TransformationMatrix(double a, double b, double c, double d, double e, double f) { setMatrix(a, b, c, d, e, f); }
+ TransformationMatrix(double m11, double m12, double m13, double m14,
+ double m21, double m22, double m23, double m24,
+ double m31, double m32, double m33, double m34,
+ double m41, double m42, double m43, double m44)
+ {
+ setMatrix(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44);
+ }
- // Rounds the mapped point to the nearest integer value.
+ void setMatrix(double a, double b, double c, double d, double e, double f)
+ {
+ m_matrix[0][0] = a; m_matrix[0][1] = b; m_matrix[0][2] = 0; m_matrix[0][3] = 0;
+ m_matrix[1][0] = c; m_matrix[1][1] = d; m_matrix[1][2] = 0; m_matrix[1][3] = 0;
+ m_matrix[2][0] = 0; m_matrix[2][1] = 0; m_matrix[2][2] = 1; m_matrix[2][3] = 0;
+ m_matrix[3][0] = e; m_matrix[3][1] = f; m_matrix[3][2] = 0; m_matrix[3][3] = 1;
+ }
+
+ void setMatrix(double m11, double m12, double m13, double m14,
+ double m21, double m22, double m23, double m24,
+ double m31, double m32, double m33, double m34,
+ double m41, double m42, double m43, double m44)
+ {
+ m_matrix[0][0] = m11; m_matrix[0][1] = m12; m_matrix[0][2] = m13; m_matrix[0][3] = m14;
+ m_matrix[1][0] = m21; m_matrix[1][1] = m22; m_matrix[1][2] = m23; m_matrix[1][3] = m24;
+ m_matrix[2][0] = m31; m_matrix[2][1] = m32; m_matrix[2][2] = m33; m_matrix[2][3] = m34;
+ m_matrix[3][0] = m41; m_matrix[3][1] = m42; m_matrix[3][2] = m43; m_matrix[3][3] = m44;
+ }
+
+ TransformationMatrix& operator =(const TransformationMatrix &t)
+ {
+ setMatrix(t.m_matrix);
+ return *this;
+ }
+
+ TransformationMatrix& makeIdentity()
+ {
+ setMatrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
+ return *this;
+ }
+
+ bool isIdentity() const
+ {
+ return m_matrix[0][0] == 1 && m_matrix[0][1] == 0 && m_matrix[0][2] == 0 && m_matrix[0][3] == 0 &&
+ m_matrix[1][0] == 0 && m_matrix[1][1] == 1 && m_matrix[1][2] == 0 && m_matrix[1][3] == 0 &&
+ m_matrix[2][0] == 0 && m_matrix[2][1] == 0 && m_matrix[2][2] == 1 && m_matrix[2][3] == 0 &&
+ m_matrix[3][0] == 0 && m_matrix[3][1] == 0 && m_matrix[3][2] == 0 && m_matrix[3][3] == 1;
+ }
+
+ // This form preserves the double math from input to output
+ void map(double x, double y, double& x2, double& y2) const { multVecMatrix(x, y, x2, y2); }
+
+ // Map a 3D point through the transform, returning a 3D point.
+ FloatPoint3D mapPoint(const FloatPoint3D&) const;
+
+ // Map a 2D point through the transform, returning a 2D point.
+ // Note that this ignores the z component, effectively projecting the point into the z=0 plane.
+ FloatPoint mapPoint(const FloatPoint&) const;
+
+ // Like the version above, except that it rounds the mapped point to the nearest integer value.
IntPoint mapPoint(const IntPoint&) const;
- FloatPoint mapPoint(const FloatPoint&) const;
+ // If the matrix has 3D components, the z component of the result is
+ // dropped, effectively projecting the rect into the z=0 plane
+ FloatRect mapRect(const FloatRect&) const;
// Rounds the resulting mapped rectangle out. This is helpful for bounding
// box computations but may not be what is wanted in other contexts.
IntRect mapRect(const IntRect&) const;
- FloatRect mapRect(const FloatRect&) const;
-
+ // If the matrix has 3D components, the z component of the result is
+ // dropped, effectively projecting the quad into the z=0 plane
FloatQuad mapQuad(const FloatQuad&) const;
- bool isIdentity() const;
+ // Map a point on the z=0 plane into a point on
+ // the plane with with the transform applied, by extending
+ // a ray perpendicular to the source plane and computing
+ // the local x,y position of the point where that ray intersects
+ // with the destination plane.
+ FloatPoint projectPoint(const FloatPoint&) const;
- double a() const;
- void setA(double a);
+ double m11() const { return m_matrix[0][0]; }
+ void setM11(double f) { m_matrix[0][0] = f; }
+ double m12() const { return m_matrix[0][1]; }
+ void setM12(double f) { m_matrix[0][1] = f; }
+ double m13() const { return m_matrix[0][2]; }
+ void setM13(double f) { m_matrix[0][2] = f; }
+ double m14() const { return m_matrix[0][3]; }
+ void setM14(double f) { m_matrix[0][3] = f; }
+ double m21() const { return m_matrix[1][0]; }
+ void setM21(double f) { m_matrix[1][0] = f; }
+ double m22() const { return m_matrix[1][1]; }
+ void setM22(double f) { m_matrix[1][1] = f; }
+ double m23() const { return m_matrix[1][2]; }
+ void setM23(double f) { m_matrix[1][2] = f; }
+ double m24() const { return m_matrix[1][3]; }
+ void setM24(double f) { m_matrix[1][3] = f; }
+ double m31() const { return m_matrix[2][0]; }
+ void setM31(double f) { m_matrix[2][0] = f; }
+ double m32() const { return m_matrix[2][1]; }
+ void setM32(double f) { m_matrix[2][1] = f; }
+ double m33() const { return m_matrix[2][2]; }
+ void setM33(double f) { m_matrix[2][2] = f; }
+ double m34() const { return m_matrix[2][3]; }
+ void setM34(double f) { m_matrix[2][3] = f; }
+ double m41() const { return m_matrix[3][0]; }
+ void setM41(double f) { m_matrix[3][0] = f; }
+ double m42() const { return m_matrix[3][1]; }
+ void setM42(double f) { m_matrix[3][1] = f; }
+ double m43() const { return m_matrix[3][2]; }
+ void setM43(double f) { m_matrix[3][2] = f; }
+ double m44() const { return m_matrix[3][3]; }
+ void setM44(double f) { m_matrix[3][3] = f; }
+
+ double a() const { return m_matrix[0][0]; }
+ void setA(double a) { m_matrix[0][0] = a; }
- double b() const;
- void setB(double b);
+ double b() const { return m_matrix[0][1]; }
+ void setB(double b) { m_matrix[0][1] = b; }
- double c() const;
- void setC(double c);
+ double c() const { return m_matrix[1][0]; }
+ void setC(double c) { m_matrix[1][0] = c; }
- double d() const;
- void setD(double d);
+ double d() const { return m_matrix[1][1]; }
+ void setD(double d) { m_matrix[1][1] = d; }
- double e() const;
- void setE(double e);
+ double e() const { return m_matrix[3][0]; }
+ void setE(double e) { m_matrix[3][0] = e; }
- double f() const;
- void setF(double f);
+ double f() const { return m_matrix[3][1]; }
+ void setF(double f) { m_matrix[3][1] = f; }
- void reset();
+ // this = this * mat
+ TransformationMatrix& multiply(const TransformationMatrix& t) { return *this *= t; }
- TransformationMatrix& multiply(const TransformationMatrix&);
+ // this = mat * this
+ TransformationMatrix& multLeft(const TransformationMatrix& mat);
+
TransformationMatrix& scale(double);
- TransformationMatrix& scale(double sx, double sy);
TransformationMatrix& scaleNonUniform(double sx, double sy);
- TransformationMatrix& rotate(double d);
+ TransformationMatrix& scale3d(double sx, double sy, double sz);
+
+ TransformationMatrix& rotate(double d) { return rotate3d(0, 0, d); }
TransformationMatrix& rotateFromVector(double x, double y);
+ TransformationMatrix& rotate3d(double rx, double ry, double rz);
+
+ // The vector (x,y,z) is normalized if it's not already. A vector of
+ // (0,0,0) uses a vector of (0,0,1).
+ TransformationMatrix& rotate3d(double x, double y, double z, double angle);
+
TransformationMatrix& translate(double tx, double ty);
- TransformationMatrix& shear(double sx, double sy);
+ TransformationMatrix& translate3d(double tx, double ty, double tz);
+
TransformationMatrix& flipX();
TransformationMatrix& flipY();
TransformationMatrix& skew(double angleX, double angleY);
- TransformationMatrix& skewX(double angle);
- TransformationMatrix& skewY(double angle);
+ TransformationMatrix& skewX(double angle) { return skew(angle, 0); }
+ TransformationMatrix& skewY(double angle) { return skew(0, angle); }
- double det() const;
+ TransformationMatrix& applyPerspective(double p);
+ bool hasPerspective() const { return m_matrix[2][3] != 0.0f; }
+
bool isInvertible() const;
+
+ // This method returns the identity matrix if it is not invertible.
+ // Use isInvertible() before calling this if you need to know.
TransformationMatrix inverse() const;
+ // decompose the matrix into its component parts
+ typedef struct {
+ double scaleX, scaleY, scaleZ;
+ double skewXY, skewXZ, skewYZ;
+ double quaternionX, quaternionY, quaternionZ, quaternionW;
+ double translateX, translateY, translateZ;
+ double perspectiveX, perspectiveY, perspectiveZ, perspectiveW;
+ } DecomposedType;
+
+ bool decompose(DecomposedType& decomp) const;
+ void recompose(const DecomposedType& decomp);
+
void blend(const TransformationMatrix& from, double progress);
-#if !PLATFORM(WX) || USE(WXGC)
- operator PlatformTransformationMatrix() const;
-#endif
+ bool isAffine() const
+ {
+ return (m13() == 0 && m14() == 0 && m23() == 0 && m24() == 0 &&
+ m31() == 0 && m32() == 0 && m33() == 1 && m34() == 0 && m43() == 0 && m44() == 1);
+ }
- bool operator==(const TransformationMatrix&) const;
+ bool operator==(const TransformationMatrix& m2) const
+ {
+ return (m_matrix[0][0] == m2.m_matrix[0][0] &&
+ m_matrix[0][1] == m2.m_matrix[0][1] &&
+ m_matrix[0][2] == m2.m_matrix[0][2] &&
+ m_matrix[0][3] == m2.m_matrix[0][3] &&
+ m_matrix[1][0] == m2.m_matrix[1][0] &&
+ m_matrix[1][1] == m2.m_matrix[1][1] &&
+ m_matrix[1][2] == m2.m_matrix[1][2] &&
+ m_matrix[1][3] == m2.m_matrix[1][3] &&
+ m_matrix[2][0] == m2.m_matrix[2][0] &&
+ m_matrix[2][1] == m2.m_matrix[2][1] &&
+ m_matrix[2][2] == m2.m_matrix[2][2] &&
+ m_matrix[2][3] == m2.m_matrix[2][3] &&
+ m_matrix[3][0] == m2.m_matrix[3][0] &&
+ m_matrix[3][1] == m2.m_matrix[3][1] &&
+ m_matrix[3][2] == m2.m_matrix[3][2] &&
+ m_matrix[3][3] == m2.m_matrix[3][3]);
+ }
+
bool operator!=(const TransformationMatrix& other) const { return !(*this == other); }
- TransformationMatrix& operator*=(const TransformationMatrix&);
- TransformationMatrix operator*(const TransformationMatrix&);
+
+ // *this = *this * t (i.e., a multRight)
+ TransformationMatrix& operator*=(const TransformationMatrix& t)
+ {
+ *this = *this * t;
+ return *this;
+ }
+
+ // result = *this * t (i.e., a multRight)
+ TransformationMatrix operator*(const TransformationMatrix& t)
+ {
+ TransformationMatrix result = t;
+ result.multLeft(*this);
+ return result;
+ }
+
+#if PLATFORM(CG)
+ operator CGAffineTransform() const;
+#endif
private:
-#if !PLATFORM(WX) || USE(WXGC)
- PlatformTransformationMatrix m_transform;
-#endif
-};
+ TransformationMatrix makeMapBetweenRects(const FloatRect& source, const FloatRect& dest);
-TransformationMatrix makeMapBetweenRects(const FloatRect& source, const FloatRect& dest);
+ // multiply passed 2D point by matrix (assume z=0)
+ void multVecMatrix(double x, double y, double& dstX, double& dstY) const;
+
+ // multiply passed 3D point by matrix
+ void multVecMatrix(double x, double y, double z, double& dstX, double& dstY, double& dstZ) const;
+
+ void setMatrix(const Matrix4 m)
+ {
+ if (m && m != m_matrix)
+ memcpy(m_matrix, m, sizeof(Matrix4));
+ }
+
+ Matrix4 m_matrix;
+};
} // namespace WebCore
diff --git a/WebCore/rendering/RenderForeignObject.cpp b/WebCore/rendering/RenderForeignObject.cpp
index 86694b0..8a32807 100644
--- a/WebCore/rendering/RenderForeignObject.cpp
+++ b/WebCore/rendering/RenderForeignObject.cpp
@@ -112,7 +112,7 @@
TransformationMatrix totalTransform = absoluteTransform();
totalTransform *= translationForAttributes();
double localX, localY;
- totalTransform.inverse().map(x, y, &localX, &localY);
+ totalTransform.inverse().map(x, y, localX, localY);
return RenderBlock::nodeAtPoint(request, result, static_cast<int>(localX), static_cast<int>(localY), tx, ty, hitTestAction);
}
diff --git a/WebCore/rendering/RenderLayer.cpp b/WebCore/rendering/RenderLayer.cpp
index e126da3..2ac4c24 100644
--- a/WebCore/rendering/RenderLayer.cpp
+++ b/WebCore/rendering/RenderLayer.cpp
@@ -325,7 +325,7 @@
if (hasTransform) {
RenderBox* box = renderBox();
ASSERT(box);
- m_transform->reset();
+ m_transform->makeIdentity();
box->style()->applyTransform(*m_transform, box->borderBoxRect().size());
}
}
diff --git a/WebCore/rendering/RenderPath.cpp b/WebCore/rendering/RenderPath.cpp
index bd19149..d592743 100644
--- a/WebCore/rendering/RenderPath.cpp
+++ b/WebCore/rendering/RenderPath.cpp
@@ -81,7 +81,7 @@
// absolute transform?
double localX;
double localY;
- absoluteTransform().inverse().map(point.x(), point.y(), &localX, &localY);
+ absoluteTransform().inverse().map(point.x(), point.y(), localX, localY);
return FloatPoint::narrowPrecision(localX, localY);
}
diff --git a/WebCore/rendering/RenderSVGImage.cpp b/WebCore/rendering/RenderSVGImage.cpp
index dad4ec6..7580a6f 100644
--- a/WebCore/rendering/RenderSVGImage.cpp
+++ b/WebCore/rendering/RenderSVGImage.cpp
@@ -198,7 +198,7 @@
bool isVisible = (style()->visibility() == VISIBLE);
if (isVisible || !hitRules.requireVisible) {
double localX, localY;
- absoluteTransform().inverse().map(_x, _y, &localX, &localY);
+ absoluteTransform().inverse().map(_x, _y, localX, localY);
if (hitRules.canHitFill) {
if (m_localBounds.contains(narrowPrecisionToFloat(localX), narrowPrecisionToFloat(localY))) {
diff --git a/WebCore/rendering/RenderSVGRoot.cpp b/WebCore/rendering/RenderSVGRoot.cpp
index d0be532..5a5e8d8 100644
--- a/WebCore/rendering/RenderSVGRoot.cpp
+++ b/WebCore/rendering/RenderSVGRoot.cpp
@@ -312,7 +312,7 @@
overflowBox.move(tx, ty);
ctm.translate(viewport().x(), viewport().y());
double localX, localY;
- ctm.inverse().map(_x - _tx, _y - _ty, &localX, &localY);
+ ctm.inverse().map(_x - _tx, _y - _ty, localX, localY);
if (!overflowBox.contains((int)localX, (int)localY))
return false;
}
diff --git a/WebCore/rendering/RenderSVGText.cpp b/WebCore/rendering/RenderSVGText.cpp
index 19ae9b4..3664795 100644
--- a/WebCore/rendering/RenderSVGText.cpp
+++ b/WebCore/rendering/RenderSVGText.cpp
@@ -118,7 +118,7 @@
|| (hitRules.canHitFill && (style()->svgStyle()->hasFill() || !hitRules.requireFill))) {
TransformationMatrix totalTransform = absoluteTransform();
double localX, localY;
- totalTransform.inverse().map(_x, _y, &localX, &localY);
+ totalTransform.inverse().map(_x, _y, localX, localY);
FloatPoint hitPoint(_x, _y);
return RenderBlock::nodeAtPoint(request, result, (int)localX, (int)localY, _tx, _ty, hitTestAction);
}
diff --git a/WebCore/rendering/RenderSVGViewportContainer.cpp b/WebCore/rendering/RenderSVGViewportContainer.cpp
index a84216d..fd4b8dc 100644
--- a/WebCore/rendering/RenderSVGViewportContainer.cpp
+++ b/WebCore/rendering/RenderSVGViewportContainer.cpp
@@ -159,7 +159,7 @@
TransformationMatrix ctm = RenderObject::absoluteTransform();
ctm.translate(viewport().x(), viewport().y());
double localX, localY;
- ctm.inverse().map(_x - _tx, _y - _ty, &localX, &localY);
+ ctm.inverse().map(_x - _tx, _y - _ty, localX, localY);
if (!overflowBox.contains((int)localX, (int)localY))
return false;
}
diff --git a/WebCore/rendering/SVGCharacterLayoutInfo.cpp b/WebCore/rendering/SVGCharacterLayoutInfo.cpp
index 89bab2d..429dceb 100644
--- a/WebCore/rendering/SVGCharacterLayoutInfo.cpp
+++ b/WebCore/rendering/SVGCharacterLayoutInfo.cpp
@@ -521,7 +521,7 @@
ctm.rotate(angle);
if (pathData) {
- ctm.scale(pathData->xScale, pathData->yScale);
+ ctm.scaleNonUniform(pathData->xScale, pathData->yScale);
ctm.translate(pathData->xShift, pathData->yShift);
ctm.rotate(pathData->orientationAngle);
}
diff --git a/WebCore/rendering/SVGRootInlineBox.cpp b/WebCore/rendering/SVGRootInlineBox.cpp
index 62a8b04..f7da2c3 100644
--- a/WebCore/rendering/SVGRootInlineBox.cpp
+++ b/WebCore/rendering/SVGRootInlineBox.cpp
@@ -820,9 +820,9 @@
if (lengthAdjust == SVGTextContentElement::LENGTHADJUST_SPACINGANDGLYPHS) {
if (chunk.isVerticalText)
- chunk.ctm.scale(1.0f, chunk.textLength / computedLength);
+ chunk.ctm.scaleNonUniform(1.0f, chunk.textLength / computedLength);
else
- chunk.ctm.scale(chunk.textLength / computedLength, 1.0f);
+ chunk.ctm.scaleNonUniform(chunk.textLength / computedLength, 1.0f);
return 0.0f;
}
diff --git a/WebCore/svg/SVGAnimateMotionElement.cpp b/WebCore/svg/SVGAnimateMotionElement.cpp
index b6422f5..861f353 100644
--- a/WebCore/svg/SVGAnimateMotionElement.cpp
+++ b/WebCore/svg/SVGAnimateMotionElement.cpp
@@ -150,7 +150,7 @@
TransformationMatrix* transform = target->supplementalTransform();
if (!transform)
return;
- transform->reset();
+ transform->makeIdentity();
}
bool SVGAnimateMotionElement::calculateFromAndToValues(const String& fromString, const String& toString)
@@ -179,7 +179,7 @@
return;
if (!isAdditive())
- transform->reset();
+ transform->makeIdentity();
// FIXME: Implement accumulate.
diff --git a/WebCore/svg/SVGPreserveAspectRatio.cpp b/WebCore/svg/SVGPreserveAspectRatio.cpp
index 9c9e110..5793976 100644
--- a/WebCore/svg/SVGPreserveAspectRatio.cpp
+++ b/WebCore/svg/SVGPreserveAspectRatio.cpp
@@ -178,10 +178,10 @@
double svgar = physWidth / physHeight;
if (align() == SVG_PRESERVEASPECTRATIO_NONE) {
- temp.scale(physWidth / logicWidth, physHeight / logicHeight);
+ temp.scaleNonUniform(physWidth / logicWidth, physHeight / logicHeight);
temp.translate(-logicX, -logicY);
} else if (vpar < svgar && (meetOrSlice() == SVG_MEETORSLICE_MEET) || vpar >= svgar && (meetOrSlice() == SVG_MEETORSLICE_SLICE)) {
- temp.scale(physHeight / logicHeight, physHeight / logicHeight);
+ temp.scaleNonUniform(physHeight / logicHeight, physHeight / logicHeight);
if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESERVEASPECTRATIO_XMINYMID || align() == SVG_PRESERVEASPECTRATIO_XMINYMAX)
temp.translate(-logicX, -logicY);
@@ -190,7 +190,7 @@
else
temp.translate(-logicX - (logicWidth - physWidth * logicHeight / physHeight), -logicY);
} else {
- temp.scale(physWidth / logicWidth, physWidth / logicWidth);
+ temp.scaleNonUniform(physWidth / logicWidth, physWidth / logicWidth);
if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESERVEASPECTRATIO_XMIDYMIN || align() == SVG_PRESERVEASPECTRATIO_XMAXYMIN)
temp.translate(-logicX, -logicY);
diff --git a/WebCore/svg/SVGSVGElement.cpp b/WebCore/svg/SVGSVGElement.cpp
index 915bc70..e66a16e 100644
--- a/WebCore/svg/SVGSVGElement.cpp
+++ b/WebCore/svg/SVGSVGElement.cpp
@@ -125,8 +125,8 @@
TransformationMatrix viewBox = viewBoxToViewTransform(w, h);
double wDouble = w;
double hDouble = h;
- viewBox.map(_x, _y, &_x, &_y);
- viewBox.map(w, h, &wDouble, &hDouble);
+ viewBox.map(_x, _y, _x, _y);
+ viewBox.map(w, h, wDouble, hDouble);
return FloatRect::narrowPrecision(_x, _y, wDouble, hDouble);
}
diff --git a/WebCore/svg/SVGTransform.cpp b/WebCore/svg/SVGTransform.cpp
index fac88bd..17d9b8f 100644
--- a/WebCore/svg/SVGTransform.cpp
+++ b/WebCore/svg/SVGTransform.cpp
@@ -96,7 +96,7 @@
m_type = SVG_TRANSFORM_TRANSLATE;
m_angle = 0;
- m_matrix.reset();
+ m_matrix.makeIdentity();
m_matrix.translate(tx, ty);
}
@@ -111,8 +111,8 @@
m_angle = 0;
m_center = FloatPoint();
- m_matrix.reset();
- m_matrix.scale(sx, sy);
+ m_matrix.makeIdentity();
+ m_matrix.scaleNonUniform(sx, sy);
}
FloatSize SVGTransform::scale() const
@@ -127,7 +127,7 @@
m_center = FloatPoint(cx, cy);
// TODO: toString() implementation, which can show cx, cy (need to be stored?)
- m_matrix.reset();
+ m_matrix.makeIdentity();
m_matrix.translate(cx, cy);
m_matrix.rotate(angle);
m_matrix.translate(-cx, -cy);
@@ -138,7 +138,7 @@
m_type = SVG_TRANSFORM_SKEWX;
m_angle = angle;
- m_matrix.reset();
+ m_matrix.makeIdentity();
m_matrix.skewX(angle);
}
@@ -147,7 +147,7 @@
m_type = SVG_TRANSFORM_SKEWY;
m_angle = angle;
- m_matrix.reset();
+ m_matrix.makeIdentity();
m_matrix.skewY(angle);
}
diff --git a/WebCore/svg/SVGTransformDistance.cpp b/WebCore/svg/SVGTransformDistance.cpp
index b46370b..34adc63 100644
--- a/WebCore/svg/SVGTransformDistance.cpp
+++ b/WebCore/svg/SVGTransformDistance.cpp
@@ -79,7 +79,7 @@
{
float scaleX = toSVGTransform.scale().width() - fromSVGTransform.scale().width();
float scaleY = toSVGTransform.scale().height() - fromSVGTransform.scale().height();
- m_transform.scale(scaleX, scaleY);
+ m_transform.scaleNonUniform(scaleX, scaleY);
return;
}
case SVGTransform::SVG_TRANSFORM_SKEWX:
@@ -188,7 +188,7 @@
{
float scaleX = absoluteValue ? fabsf(transform.scale().width()) : transform.scale().width();
float scaleY = absoluteValue ? fabsf(transform.scale().height()) : transform.scale().height();
- m_transform.scale(scaleX, scaleY);
+ m_transform.scaleNonUniform(scaleX, scaleY);
return;
}
case SVGTransform::SVG_TRANSFORM_SKEWX:
diff --git a/WebCore/svg/graphics/SVGResourceClipper.cpp b/WebCore/svg/graphics/SVGResourceClipper.cpp
index 51bda0d..5998afb 100644
--- a/WebCore/svg/graphics/SVGResourceClipper.cpp
+++ b/WebCore/svg/graphics/SVGResourceClipper.cpp
@@ -72,7 +72,7 @@
if (clipData.bboxUnits) {
TransformationMatrix transform;
transform.translate(boundingBox.x(), boundingBox.y());
- transform.scale(boundingBox.width(), boundingBox.height());
+ transform.scaleNonUniform(boundingBox.width(), boundingBox.height());
clipPath.transform(transform);
}
context->addPath(clipPath);
diff --git a/WebCore/svg/graphics/SVGResourceMarker.cpp b/WebCore/svg/graphics/SVGResourceMarker.cpp
index c50f5e3..112e4d6 100644
--- a/WebCore/svg/graphics/SVGResourceMarker.cpp
+++ b/WebCore/svg/graphics/SVGResourceMarker.cpp
@@ -82,14 +82,14 @@
// the translation performed on the viewport itself.
TransformationMatrix viewportTransform;
if (m_useStrokeWidth)
- viewportTransform.scale(strokeWidth, strokeWidth);
+ viewportTransform.scaleNonUniform(strokeWidth, strokeWidth);
viewportTransform *= m_marker->viewportTransform();
double refX, refY;
- viewportTransform.map(m_refX, m_refY, &refX, &refY);
+ viewportTransform.map(m_refX, m_refY, refX, refY);
transform.translate(-refX, -refY);
if (m_useStrokeWidth)
- transform.scale(strokeWidth, strokeWidth);
+ transform.scaleNonUniform(strokeWidth, strokeWidth);
// FIXME: PaintInfo should be passed into this method instead of being created here
// FIXME: bounding box fractions are lost