+2007-07-29 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Rob.
+
+ Update layout tests now that textPaths participate in
+ text chunk building and after the selection rect fixes.
+
+ * svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
+ * svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
+ * svg/batik/text/longTextOnPath-expected.txt:
+ * svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
+ * svg/batik/text/textOnPath-expected.txt:
+ * svg/batik/text/textOnPath2-expected.txt:
+ * svg/batik/text/textOnPath3-expected.txt:
+ * svg/batik/text/textOnPathSpaces-expected.txt:
+ * svg/batik/text/verticalText-expected.txt:
+ * svg/batik/text/verticalTextOnPath-expected.txt:
+ * svg/text/text-align-01-b-expected.checksum:
+ * svg/text/text-align-01-b-expected.png:
+ * svg/text/text-align-02-b-expected.checksum:
+ * svg/text/text-align-02-b-expected.png:
+ * svg/text/text-align-03-b-expected.checksum:
+ * svg/text/text-align-03-b-expected.png:
+ * svg/text/text-align-04-b-expected.checksum:
+ * svg/text/text-align-04-b-expected.png:
+ * svg/text/text-align-04-b-expected.txt:
+ * svg/text/text-align-05-b-expected.checksum:
+ * svg/text/text-align-05-b-expected.png:
+ * svg/text/text-align-06-b-expected.checksum:
+ * svg/text/text-align-06-b-expected.png:
+ * svg/text/text-altglyph-01-b-expected.checksum:
+ * svg/text/text-altglyph-01-b-expected.png:
+ * svg/text/text-deco-01-b-expected.checksum:
+ * svg/text/text-deco-01-b-expected.png:
+ * svg/text/text-fonts-01-t-expected.checksum:
+ * svg/text/text-fonts-01-t-expected.png:
+ * svg/text/text-fonts-02-t-expected.checksum:
+ * svg/text/text-fonts-02-t-expected.png:
+ * svg/text/text-intro-05-t-expected.checksum:
+ * svg/text/text-intro-05-t-expected.png:
+ * svg/text/text-path-01-b-expected.checksum:
+ * svg/text/text-path-01-b-expected.png:
+ * svg/text/text-path-01-b-expected.txt:
+ * svg/text/text-spacing-01-b-expected.checksum:
+ * svg/text/text-spacing-01-b-expected.png:
+ * svg/text/text-text-01-b-expected.checksum:
+ * svg/text/text-text-01-b-expected.png:
+ * svg/text/text-text-03-b-expected.checksum:
+ * svg/text/text-text-03-b-expected.png:
+ * svg/text/text-text-04-t-expected.checksum:
+ * svg/text/text-text-04-t-expected.png:
+ * svg/text/text-text-05-t-expected.checksum:
+ * svg/text/text-text-05-t-expected.png:
+ * svg/text/text-text-06-t-expected.checksum:
+ * svg/text/text-text-06-t-expected.png:
+ * svg/text/text-text-07-t-expected.checksum:
+ * svg/text/text-text-07-t-expected.png:
+ * svg/text/text-text-08-b-expected.checksum:
+ * svg/text/text-text-08-b-expected.png:
+ * svg/text/text-tref-01-b-expected.checksum:
+ * svg/text/text-tref-01-b-expected.png:
+ * svg/text/text-tselect-01-b-expected.checksum:
+ * svg/text/text-tselect-01-b-expected.png:
+ * svg/text/text-tselect-02-f-expected.checksum:
+ * svg/text/text-tselect-02-f-expected.png:
+ * svg/text/text-tspan-01-b-expected.checksum:
+ * svg/text/text-tspan-01-b-expected.png:
+ * svg/text/text-ws-01-t-expected.checksum:
+ * svg/text/text-ws-01-t-expected.png:
+ * svg/text/text-ws-02-t-expected.checksum:
+ * svg/text/text-ws-02-t-expected.png:
+
2007-07-26 Rob Buis <buis@kde.org>
Reviewed by Nikolas.
RenderSVGContainer {g} at (25,149.50) size 400x281
RenderPath {path} at (25,149.50) size 400x281 [stroke={[type=SOLID] [color=#0000FF]}] [data="M25.00,150.00L425.00,150.00M25.00,170.00L425.00,170.00M25.00,190.00L425.00,190.00M25.00,210.00L425.00,210.00M25.00,230.00L425.00,230.00M25.00,250.00L425.00,250.00M25.00,270.00L425.00,270.00M25.00,290.00L425.00,290.00M25.00,310.00L425.00,310.00M25.00,330.00L425.00,330.00M25.00,350.00L425.00,350.00M25.00,370.00L425.00,370.00M25.00,390.00L425.00,390.00M25.00,410.00L425.00,410.00M25.00,430.00L425.00,430.00M25.00,450.00"]
RenderPath {rect} at (20,100) size 205x375 [fill={[type=SOLID] [color=#C8C8FF]}] [data="M20.00,100.00L225.00,100.00L225.00,475.00L20.00,475.00"]
- RenderSVGText {text} at (21,150) size 406x263 contains 0 chunk(s)
+ RenderSVGText {text} at (21,150) size 406x263 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 406x263
RenderSVGInlineText {#text} at (0,-18) size 406x263
+ chunk 1 text run 1 at (21.00,150.00) startOffset 0 endOffset 410 width 3210.00: "This is an example of a very long string that is split across multiple lines via the textPath tag. The purpose of this test is to ensure that text-selection can keep up even when relatively large numbers of characters are part of the selection. Since I haven't reached the end yet, let me keep going with more really quite useless text just to see if we hit a limit where it really starts to slow things down. "
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGContainer {use} at (0,0) size 0x0
RenderSVGContainer {use} at (239.29,68.42) size 160.71x43.16
RenderSVGContainer {g} at (239.29,68.42) size 160.71x43.16
RenderPath {path} at (239.29,68.42) size 160.71x43.16 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00C40.00,20.00,60.00,0.00,80.00,20.00C100.00,40.00,120.00,60.00,140.00,40.00C160.00,20.00,180.00,20.00,180.00,20.00"]
- RenderSVGText {text} at (17,4) size 122x71 contains 0 chunk(s)
+ RenderSVGText {text} at (17,4) size 122x71 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 122x71
RenderSVGInlineText {#text} at (0,-13) size 52x49
+ chunk 1 text run 1 at (17.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
RenderSVGTSpan {tspan} at (0,0) size 16x32 [color=#FF0000]
RenderSVGInlineText {#text} at (52,-21) size 15x31
+ chunk 1 text run 2 at (69.83,4.21) startOffset 0 endOffset 2 width 17.00: "is"
RenderSVGTSpan {tspan} at (0,0) size 57x50
RenderSVGInlineText {#text} at (65,0) size 57x49
+ chunk 1 text run 3 at (82.43,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.00L400.00,130.00"]
RenderSVGText {text} at (50,130) size 142x27 contains 1 chunk(s)
RenderSVGContainer {use} at (49.55,158.48) size 320.45x43.05
RenderSVGContainer {g} at (49.55,158.48) size 320.45x43.05
RenderPath {path} at (49.55,158.48) size 320.45x43.05 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00C60.00,20.00,100.00,0.00,140.00,20.00C180.00,40.00,220.00,60.00,260.00,40.00C300.00,20.00,340.00,20.00,340.00,20.00"]
- RenderSVGText {text} at (19,3) size 135x60 contains 0 chunk(s)
+ RenderSVGText {text} at (19,3) size 135x60 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 135x60
RenderSVGInlineText {#text} at (0,-7) size 56x46
+ chunk 1 text run 1 at (19.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
RenderSVGTSpan {tspan} at (0,0) size 17x29 [color=#FF0000]
RenderSVGInlineText {#text} at (55,-21) size 16x28
+ chunk 1 text run 2 at (74.95,3.71) startOffset 0 endOffset 2 width 17.00: "is"
RenderSVGTSpan {tspan} at (0,0) size 63x39
RenderSVGInlineText {#text} at (72,-13) size 62x39
+ chunk 1 text run 3 at (91.61,11.78) 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.00L200.00,240.00"]
RenderSVGText {text} at (50,240) size 142x27 contains 1 chunk(s)
RenderSVGContainer {use} at (239.29,228.42) size 160.71x43.16
RenderSVGContainer {g} at (239.29,228.42) size 160.71x43.16
RenderPath {path} at (239.29,228.42) size 160.71x43.16 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00C40.00,20.00,60.00,0.00,80.00,20.00C100.00,40.00,120.00,60.00,140.00,40.00C160.00,20.00,180.00,20.00,180.00,20.00"]
- RenderSVGText {text} at (17,4) size 122x71 contains 0 chunk(s)
+ RenderSVGText {text} at (17,4) size 122x71 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 122x71
RenderSVGInlineText {#text} at (0,-13) size 52x49
+ chunk 1 text run 1 at (17.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
RenderSVGTSpan {tspan} at (0,0) size 16x32 [color=#FF0000]
RenderSVGInlineText {#text} at (52,-21) size 15x31
+ chunk 1 text run 2 at (69.83,4.21) startOffset 0 endOffset 2 width 17.00: "is"
RenderSVGTSpan {tspan} at (0,0) size 57x50
RenderSVGInlineText {#text} at (65,0) size 57x49
+ chunk 1 text run 3 at (82.43,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderPath {line} at (50,319) size 350x2 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M50.00,320.00L400.00,320.00"]
RenderSVGText {text} at (50,320) size 142x27 contains 1 chunk(s)
RenderSVGContainer {use} at (49.55,348.48) size 320.45x43.05
RenderSVGContainer {g} at (49.55,348.48) size 320.45x43.05
RenderPath {path} at (49.55,348.48) size 320.45x43.05 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00C60.00,20.00,100.00,0.00,140.00,20.00C180.00,40.00,220.00,60.00,260.00,40.00C300.00,20.00,340.00,20.00,340.00,20.00"]
- RenderSVGText {text} at (19,3) size 135x60 contains 0 chunk(s)
+ RenderSVGText {text} at (19,3) size 135x60 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 135x60
RenderSVGInlineText {#text} at (0,-7) size 56x46
+ chunk 1 text run 1 at (19.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
RenderSVGTSpan {tspan} at (0,0) size 17x29 [color=#FF0000]
RenderSVGInlineText {#text} at (55,-21) size 16x28
+ chunk 1 text run 2 at (74.95,3.71) startOffset 0 endOffset 2 width 17.00: "is"
RenderSVGTSpan {tspan} at (0,0) size 63x39
RenderSVGInlineText {#text} at (72,-13) size 62x39
+ chunk 1 text run 3 at (91.61,11.78) startOffset 0 endOffset 5 width 65.00: " Good"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGContainer {use} at (29.70,70.67) size 90.60x49.33
RenderSVGContainer {g} at (29.70,70.67) size 90.60x49.33
RenderPath {path} at (29.70,70.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (24,3) size 96x64 contains 0 chunk(s)
+ RenderSVGText {text} at (24,3) size 96x64 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 96x64
RenderSVGInlineText {#text} at (0,-2) size 27x48
+ chunk 1 text run 1 at (24.45,18.29) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 20x25 [color=#FF0000]
RenderSVGInlineText {#text} at (27,-17) size 19x25
+ chunk 1 text run 2 at (51.75,3.11) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 49x42
RenderSVGInlineText {#text} at (47,-8) size 48x42
+ chunk 1 text run 3 at (71.44,12.51) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
RenderSVGContainer {use} at (179.70,70.67) size 90.60x49.33
RenderSVGContainer {g} at (179.70,70.67) size 90.60x49.33
RenderPath {path} at (179.70,70.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (-6,-10) size 74x77 contains 0 chunk(s)
+ RenderSVGText {text} at (-6,-10) size 74x77 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 74x77
RenderSVGInlineText {#text} at (0,-8) size 45x23
+ chunk 1 (middle anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 20x23 [color=#FF0000]
RenderSVGInlineText {#text} at (43,-18) size 20x23
+ chunk 1 (middle anchor) text run 2 at (37.00,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 41x54
RenderSVGInlineText {#text} at (33,5) size 40x53
+ chunk 1 (middle anchor) text run 3 at (27.72,13.71) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
RenderSVGContainer {use} at (329.70,70.67) size 90.60x49.33
RenderSVGContainer {g} at (329.70,70.67) size 90.60x49.33
RenderPath {path} at (329.70,70.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (-6,-10) size 81x70 contains 0 chunk(s)
+ RenderSVGText {text} at (-6,-10) size 81x70 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 81x70
RenderSVGInlineText {#text} at (0,-8) size 45x23
+ chunk 1 (end anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 22x67 [color=#FF0000]
RenderSVGInlineText {#text} at (31,-18) size 21x67
+ chunk 1 (end anchor) text run 2 at (25.39,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 46x48
RenderSVGInlineText {#text} at (35,4) size 45x47
+ chunk 1 (end anchor) text run 3 at (29.74,12.71) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (29.70,170.67) size 90.60x49.33
RenderSVGContainer {g} at (29.70,170.67) size 90.60x49.33
RenderPath {path} at (29.70,170.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (74,12) size 95x59 contains 0 chunk(s)
+ RenderSVGText {text} at (74,12) size 95x59 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 95x59
RenderSVGInlineText {#text} at (0,-17) size 38x36
+ chunk 1 text run 1 at (74.99,12.80) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 14x32 [color=#FF0000]
RenderSVGInlineText {#text} at (36,-7) size 13x32
+ chunk 1 text run 2 at (110.39,22.26) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 52x23
RenderSVGInlineText {#text} at (43,18) size 52x23
+ chunk 1 text run 3 at (117.49,48.94) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (179.70,170.67) size 90.60x49.33
RenderSVGContainer {g} at (179.70,170.67) size 90.60x49.33
RenderPath {path} at (179.70,170.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (26,2) size 97x59 contains 0 chunk(s)
+ RenderSVGText {text} at (26,2) size 97x59 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 97x59
RenderSVGInlineText {#text} at (0,-4) size 32x44
+ chunk 1 (middle anchor) text run 1 at (26.24,15.53) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 20x24 [color=#FF0000]
RenderSVGInlineText {#text} at (32,-17) size 19x24
+ chunk 1 (middle anchor) text run 2 at (58.57,2.52) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 45x49
RenderSVGInlineText {#text} at (52,-7) size 44x48
+ chunk 1 (middle anchor) text run 3 at (78.49,12.80) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (329.70,170.67) size 90.60x49.33
RenderSVGContainer {g} at (329.70,170.67) size 90.60x49.33
RenderPath {path} at (329.70,170.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (29,2) size 95x66 contains 0 chunk(s)
+ RenderSVGText {text} at (29,2) size 95x66 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 95x66
RenderSVGInlineText {#text} at (0,-6) size 36x40
+ chunk 1 (end anchor) text run 1 at (29.43,13.68) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 20x23 [color=#FF0000]
RenderSVGInlineText {#text} at (36,-17) size 19x23
+ chunk 1 (end anchor) text run 2 at (65.56,2.66) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 39x55
RenderSVGInlineText {#text} at (56,-6) size 39x54
+ chunk 1 (end anchor) text run 3 at (85.45,13.92) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 78x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 78x13
RenderSVGContainer {use} at (29.70,270.67) size 90.60x49.33
RenderSVGContainer {g} at (29.70,270.67) size 90.60x49.33
RenderPath {path} at (29.70,270.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (45,4) size 104x59 contains 0 chunk(s)
+ RenderSVGText {text} at (45,4) size 104x59 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 104x59
RenderSVGInlineText {#text} at (0,-9) size 41x28
+ chunk 1 text run 1 at (45.19,12.60) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 19x27 [color=#FF0000]
RenderSVGInlineText {#text} at (41,-17) size 19x26
+ chunk 1 text run 2 at (86.23,4.76) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 45x41
RenderSVGInlineText {#text} at (59,0) size 45x40
+ chunk 1 text run 3 at (104.30,22.53) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (179.70,270.67) size 90.60x49.33
RenderSVGContainer {g} at (179.70,270.67) size 90.60x49.33
RenderPath {path} at (179.70,270.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (-6,0) size 108x70 contains 0 chunk(s)
+ RenderSVGText {text} at (-6,0) size 108x70 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 108x70
RenderSVGInlineText {#text} at (0,-18) size 41x70
+ chunk 1 (middle anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 17x30 [color=#FF0000]
RenderSVGInlineText {#text} at (38,-6) size 17x29
+ chunk 1 (middle anchor) text run 2 at (32.42,11.40) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 54x28
RenderSVGInlineText {#text} at (54,-5) size 53x28
+ chunk 1 (middle anchor) text run 3 at (48.69,12.55) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (329.70,270.67) size 90.60x49.33
RenderSVGContainer {g} at (329.70,270.67) size 90.60x49.33
RenderPath {path} at (329.70,270.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (-6,-10) size 89x78 contains 0 chunk(s)
+ RenderSVGText {text} at (-6,-10) size 89x78 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 89x78
RenderSVGInlineText {#text} at (0,-8) size 45x23
+ chunk 1 (end anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 20x23 [color=#FF0000]
RenderSVGInlineText {#text} at (43,-18) size 20x23
+ chunk 1 (end anchor) text run 2 at (37.00,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 59x68
RenderSVGInlineText {#text} at (30,-8) size 58x68
+ chunk 1 (end anchor) text run 3 at (24.75,0.00) startOffset 0 endOffset 7 width 55.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (24.89,377.29) size 120.11x30.43
RenderSVGContainer {g} at (24.89,377.29) size 120.11x30.43
RenderPath {path} at (24.89,377.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (14,8) size 106x44 contains 0 chunk(s)
+ RenderSVGText {text} at (14,8) size 106x44 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 106x44
RenderSVGTSpan {tspan} at (0,0) size 27x29 [color=#008000]
RenderSVGInlineText {#text} at (0,-10) size 27x29
+ chunk 1 text run 1 at (14.12,10.38) startOffset 0 endOffset 5 width 34.00: "super"
RenderSVGInlineText {#text} at (27,-12) size 26x29
+ chunk 1 text run 2 at (41.70,8.97) startOffset 0 endOffset 5 width 31.00: " and "
RenderSVGTSpan {tspan} at (0,0) size 20x21 [color=#FF0000]
RenderSVGInlineText {#text} at (52,8) size 19x21
+ chunk 1 text run 3 at (66.99,29.16) startOffset 0 endOffset 3 width 22.00: "sub"
RenderSVGInlineText {#text} at (71,0) size 34x32
+ chunk 1 text run 4 at (85.60,20.46) startOffset 0 endOffset 7 width 40.00: "scripts"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (20,60) size 88x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 88x13
RenderSVGContainer {use} at (169.89,377.29) size 120.11x30.43
RenderSVGContainer {g} at (169.89,377.29) size 120.11x30.43
RenderPath {path} at (169.89,377.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 112x45 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 112x45 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 112x45
RenderSVGTSpan {tspan} at (0,0) size 43x33 [color=#008000]
RenderSVGInlineText {#text} at (0,-12) size 42x32
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 8 width 49.00: "positive"
RenderSVGInlineText {#text} at (42,-8) size 24x34
+ chunk 1 text run 2 at (55.69,12.92) startOffset 0 endOffset 5 width 31.00: " and "
RenderSVGTSpan {tspan} at (0,0) size 47x35 [color=#FF0000]
RenderSVGInlineText {#text} at (65,-2) size 47x35
+ chunk 1 text run 3 at (78.94,18.06) startOffset 0 endOffset 8 width 53.00: "negative"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (20,60) size 97x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 97x13
chunk 1 text run 1 at (30.00,-20.00) startOffset 0 endOffset 12 width 143.00: "before path "
RenderSVGTextPath {textPath} at (0,0) size 82x54 [color=#FF0000]
RenderSVGInlineText {#text} at (0,4) size 82x53
+ chunk 1 text run 2 at (28.21,12.90) startOffset 0 endOffset 7 width 89.00: "on path"
RenderSVGInlineText {#text} at (89,11) size 120x36
- chunk 1 text run 2 at (28.21,12.90) startOffset 0 endOffset 11 width 121.00: " after path"
+ chunk 1 text run 3 at (117.77,19.76) startOffset 0 endOffset 11 width 121.00: " after path"
RenderSVGText {text} at (15,40) size 98x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 98x13
chunk 1 text run 1 at (15.00,40.00) startOffset 0 endOffset 26 width 98.00: "text before/after textPath"
chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
RenderSVGTextPath {textPath} at (0,0) size 128x119 [color=#DC143C]
RenderSVGInlineText {#text} at (86,15) size 33x90
+ chunk 1 text run 2 at (96.67,-74.64) startOffset 0 endOffset 14 width 85.00: "text on a path"
RenderSVGTSpan {tspan} at (0,0) size 69x30 [color=#FFA500]
RenderSVGInlineText {#text} at (117,-13) size 68x30
+ chunk 1 text run 3 at (127.33,-103.72) startOffset 0 endOffset 11 width 72.00: "with nested"
RenderSVGTSpan {tspan} at (0,0) size 29x39 [color=#008000]
RenderSVGInlineText {#text} at (185,2) size 29x38
+ chunk 1 text run 4 at (195.48,-87.01) startOffset 0 endOffset 6 width 37.00: " tspan"
RenderSVGInlineText {#text} at (218,23) size 32x18
- chunk 1 text run 2 at (96.67,-24.89) startOffset 0 endOffset 5 width 32.00: " xxx "
+ chunk 1 text run 5 at (228.78,-66.97) startOffset 0 endOffset 5 width 32.00: " xxx "
RenderSVGTSpan {tspan} at (0,0) size 51x18 [color=#0000FF]
RenderSVGInlineText {#text} at (260,23) size 51x18
- chunk 1 text run 3 at (99.21,-74.64) startOffset 0 endOffset 9 width 51.00: "all with "
+ chunk 1 text run 6 at (270.78,-66.97) startOffset 0 endOffset 9 width 51.00: "all with "
RenderSVGInlineText {#text} at (311,23) size 91x18
- chunk 1 text run 4 at (127.33,-103.72) startOffset 0 endOffset 16 width 91.00: " different links"
+ chunk 1 text run 7 at (321.78,-66.97) startOffset 0 endOffset 16 width 91.00: " different links"
RenderSVGContainer {g} at (50,204.33) size 414x129.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,330.00)}]
RenderSVGContainer {use} at (139.50,204.33) size 141x125.67
RenderSVGContainer {g} at (139.50,204.33) size 141x125.67
chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
RenderSVGTextPath {textPath} at (0,0) size 136x94 [color=#DC143C]
RenderSVGInlineText {#text} at (90,0) size 50x79
+ chunk 1 text run 2 at (100.31,-89.20) startOffset 0 endOffset 14 width 85.00: "text on a path"
RenderSVGTSpan {tspan} at (0,0) size 67x36 [color=#FFA500]
RenderSVGInlineText {#text} at (140,-13) size 66x36
+ chunk 1 text run 3 at (150.76,-103.73) startOffset 0 endOffset 11 width 72.00: "with nested"
RenderSVGTSpan {tspan} at (0,0) size 21x44 [color=#008000]
RenderSVGInlineText {#text} at (205,19) size 21x44
+ chunk 1 text run 4 at (215.71,-70.80) startOffset 0 endOffset 6 width 37.00: " tspan"
RenderSVGInlineText {#text} at (230,45) size 31x18
- chunk 1 text run 2 at (100.31,-49.86) startOffset 0 endOffset 5 width 32.00: " xxx "
+ chunk 1 text run 5 at (240.96,-44.00) startOffset 0 endOffset 5 width 32.00: " xxx "
RenderSVGTSpan {tspan} at (0,0) size 51x18 [color=#0000FF]
RenderSVGInlineText {#text} at (272,45) size 51x18
- chunk 1 text run 3 at (107.94,-89.20) startOffset 0 endOffset 9 width 51.00: "all with "
+ chunk 1 text run 6 at (282.96,-44.00) startOffset 0 endOffset 9 width 51.00: "all with "
RenderSVGInlineText {#text} at (323,45) size 91x18
- chunk 1 text run 4 at (150.76,-103.73) startOffset 0 endOffset 16 width 91.00: " different links"
+ chunk 1 text run 7 at (333.96,-44.00) startOffset 0 endOffset 16 width 91.00: " different links"
RenderSVGContainer {g} at (50,349.33) size 417x129.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,475.00)}]
RenderSVGContainer {use} at (139.50,349.33) size 141x125.67
RenderSVGContainer {g} at (139.50,349.33) size 141x125.67
chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
RenderSVGTextPath {textPath} at (0,0) size 137x86 [color=#DC143C]
RenderSVGInlineText {#text} at (92,-1) size 55x74
+ chunk 1 text run 2 at (102.26,-91.59) startOffset 0 endOffset 14 width 85.00: "text on a path"
RenderSVGTSpan {tspan} at (0,0) size 64x42 [color=#FFA500]
RenderSVGInlineText {#text} at (148,-13) size 64x41
+ chunk 1 text run 3 at (158.01,-103.72) startOffset 0 endOffset 11 width 72.00: "with nested"
RenderSVGTSpan {tspan} at (0,0) size 19x45 [color=#008000]
RenderSVGInlineText {#text} at (210,25) size 18x45
+ chunk 1 text run 4 at (220.21,-64.99) startOffset 0 endOffset 6 width 37.00: " tspan"
RenderSVGInlineText {#text} at (233,52) size 32x18
- chunk 1 text run 2 at (102.26,-56.47) startOffset 0 endOffset 5 width 32.00: " xxx "
+ chunk 1 text run 5 at (243.21,-37.01) startOffset 0 endOffset 5 width 32.00: " xxx "
RenderSVGTSpan {tspan} at (0,0) size 51x18 [color=#0000FF]
RenderSVGInlineText {#text} at (275,52) size 51x18
- chunk 1 text run 3 at (111.58,-91.59) startOffset 0 endOffset 9 width 51.00: "all with "
+ chunk 1 text run 6 at (285.21,-37.01) startOffset 0 endOffset 9 width 51.00: "all with "
RenderSVGInlineText {#text} at (326,52) size 91x18
- chunk 1 text run 4 at (158.01,-103.72) startOffset 0 endOffset 16 width 91.00: " different links"
+ chunk 1 text run 7 at (336.21,-37.01) startOffset 0 endOffset 16 width 91.00: " different links"
RenderSVGContainer {use} at (139.50,59.33) size 141x125.67
RenderSVGContainer {g} at (139.50,59.33) size 141x125.67
RenderPath {path} at (139.50,59.33) size 141x125.67 [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,0.00C100.00,-125.00,240.00,-125.00,240.00,0.00"]
- RenderSVGText {text} at (105,-94) size 133x80 contains 0 chunk(s)
+ RenderSVGText {text} at (105,-94) size 133x80 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 133x80 [color=#DC143C]
RenderSVGInlineText {#text} at (0,-13) size 132x80
+ chunk 1 (middle anchor) text run 1 at (105.76,-93.75) startOffset 0 endOffset 31 width 182.00: "Text on a path for text w/ 'x'."
RenderSVGContainer {g} at (29.50,194.50) size 391x141 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,330.00)}]
RenderPath {rect} at (29.50,194.50) size 391x21 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-10.00,-135.00L380.00,-135.00L380.00,-115.00L-10.00,-115.00"]
RenderPath {rect} at (29.50,214.50) size 391x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M-10.00,-115.00L380.00,-115.00L380.00,5.00L-10.00,5.00"]
RenderSVGContainer {use} at (139.50,204.33) size 141x125.67
RenderSVGContainer {g} at (139.50,204.33) size 141x125.67
RenderPath {path} at (139.50,204.33) size 141x125.67 [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,0.00C100.00,-125.00,240.00,-125.00,240.00,0.00"]
- RenderSVGText {text} at (178,-93) size 124x107 contains 0 chunk(s)
+ RenderSVGText {text} at (178,-93) size 124x107 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 124x107 [color=#DC143C]
RenderSVGInlineText {#text} at (0,-13) size 124x107
+ chunk 1 (middle anchor) text run 1 at (178.87,-92.10) startOffset 0 endOffset 31 width 182.00: "Text on a path for text w/ 'x'."
RenderSVGContainer {g} at (-65,339.50) size 485.50x141 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,475.00)}]
RenderPath {rect} at (29.50,339.50) size 391x21 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M-10.00,-135.00L380.00,-135.00L380.00,-115.00L-10.00,-115.00"]
RenderPath {rect} at (29.50,359.50) size 391x121 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M-10.00,-115.00L380.00,-115.00L380.00,5.00L-10.00,5.00"]
RenderSVGContainer {use} at (139.50,349.33) size 141x125.67
RenderSVGContainer {g} at (139.50,349.33) size 141x125.67
RenderPath {path} at (139.50,349.33) size 141x125.67 [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,0.00C100.00,-125.00,240.00,-125.00,240.00,0.00"]
- RenderSVGText {text} at (-105,-94) size 335x111 contains 0 chunk(s)
+ RenderSVGText {text} at (-105,-94) size 335x111 contains 2 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 335x111 [color=#DC143C]
RenderSVGInlineText {#text} at (0,78) size 207x19
+ chunk 1 (middle anchor) text run 1 at (-105.00,-1.44) startOffset 0 endOffset 10 width 64.00: "Text on a "
RenderSVGTSpan {tspan} at (0,0) size 99x58
RenderSVGInlineText {#text} at (236,-13) size 99x57
+ chunk 2 (middle anchor) text run 1 at (131.30,-93.74) startOffset 0 endOffset 21 width 118.00: "path for text w/ 'x'."
RenderSVGContainer {use} at (14.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
RenderPath {path} at (14.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGTSpan {tspan} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 60x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 60x13
RenderSVGContainer {use} at (164.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
RenderPath {path} at (164.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (21,9) size 93x49 contains 0 chunk(s)
+ RenderSVGText {text} at (21,9) size 93x49 contains 6 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 93x49
RenderSVGTSpan {tspan} at (0,0) size 93x49
RenderSVGInlineText {#text} at (0,-17) size 93x49
+ chunk 1 text run 1 at (21.07,20.27) startOffset 0 endOffset 1 width 8.00: "s"
+ chunk 2 text run 1 at (37.74,9.42) startOffset 1 endOffset 2 width 9.00: "a"
+ chunk 3 text run 1 at (54.76,17.75) startOffset 2 endOffset 3 width 16.00: "m"
+ chunk 4 text run 1 at (74.44,32.02) startOffset 3 endOffset 4 width 10.00: "p"
+ chunk 5 text run 1 at (93.50,35.49) startOffset 4 endOffset 5 width 6.00: "l"
+ chunk 6 text run 1 at (105.16,25.79) startOffset 5 endOffset 6 width 9.00: "e"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (15,60) size 123x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 123x13
RenderSVGContainer {use} at (314.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
RenderPath {path} at (314.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 101x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 101x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 101x42
RenderSVGTSpan {tspan} at (0,0) size 101x42
RenderSVGInlineText {#text} at (0,-17) size 100x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (15,60) size 118x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 118x13
RenderSVGContainer {use} at (14.89,167.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,167.29) size 120.11x30.43
RenderPath {path} at (14.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 72x13
RenderSVGContainer {use} at (164.89,167.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,167.29) size 120.11x30.43
RenderPath {path} at (164.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 67x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 67x13
RenderSVGContainer {use} at (314.89,167.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,167.29) size 120.11x30.43
RenderPath {path} at (314.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 54x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 54x13
RenderSVGContainer {use} at (14.89,257.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,257.29) size 120.11x30.43
RenderPath {path} at (14.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 72x13
RenderSVGContainer {use} at (164.89,257.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,257.29) size 120.11x30.43
RenderPath {path} at (164.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 67x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 67x13
RenderSVGContainer {use} at (314.89,257.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,257.29) size 120.11x30.43
RenderPath {path} at (314.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 51x42 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 51x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 51x42
RenderSVGInlineText {#text} at (0,-17) size 50x41
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (5,60) size 132x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 132x13
RenderSVGContainer {use} at (14.89,357.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,357.29) size 120.11x30.43
RenderPath {path} at (14.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (14,8) size 33x43 contains 0 chunk(s)
+ RenderSVGText {text} at (14,8) size 33x43 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 33x43
RenderSVGInlineText {#text} at (0,-17) size 33x42
+ chunk 1 text run 1 at (14.27,8.93) startOffset 0 endOffset 6 width 40.00: "sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 75x13
RenderSVGContainer {use} at (164.89,357.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,357.29) size 120.11x30.43
RenderPath {path} at (164.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 102x50 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 102x50 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 102x50
RenderSVGInlineText {#text} at (0,-17) size 101x49
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 13 width 161.00: "sample sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 72x13
RenderSVGContainer {use} at (314.89,357.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,357.29) size 120.11x30.43
RenderPath {path} at (314.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (13,8) size 102x50 contains 0 chunk(s)
+ RenderSVGText {text} at (13,8) size 102x50 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 102x50
RenderSVGInlineText {#text} at (0,-17) size 101x49
+ chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 13 width 116.00: "sample sample"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 72x13
RenderSVGContainer {use} at (54.89,457.29) size 315.21x30.43
RenderSVGContainer {g} at (54.89,457.29) size 315.21x30.43
RenderPath {path} at (54.89,457.29) size 315.21x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,0.00,1000.00,100.00C1100.00,200.00,1200.00,300.00,1300.00,200.00C1400.00,100.00,1500.00,0.00,1600.00,100.00C1700.00,200.00,1800.00,300.00,1900.00,200.00C2000.00,100.00,2100.00,0.00,2200.00,100.00"]
- RenderSVGText {text} at (15,15) size 289x42 contains 0 chunk(s)
+ RenderSVGText {text} at (15,15) size 289x42 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 289x42
RenderSVGInlineText {#text} at (0,-10) size 288x41
+ chunk 1 (vertical) text run 1 at (15.47,15.79) startOffset 0 endOffset 25 height 350.00: "Vertical text on a Path\x{753B}\x{50CF}"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGContainer {use} at (0,0) size 0x0
RenderSVGContainer {use} at (14.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
RenderPath {path} at (14.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (16,17) size 110x129 contains 0 chunk(s)
+ RenderSVGText {text} at (16,17) size 110x129 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 110x129
RenderSVGInlineText {#text} at (0,-12) size 61x37
+ chunk 1 (vertical) text run 1 at (16.55,17.65) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 22x25 [color=#FF0000]
RenderSVGInlineText {#text} at (82,6) size 22x24
+ chunk 1 (vertical) text run 2 at (98.08,36.91) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 10x119
RenderSVGInlineText {#text} at (100,-2) size 10x119
+ chunk 1 (vertical) text run 3 at (116.63,27.37) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
RenderSVGContainer {use} at (164.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
RenderPath {path} at (164.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 114x119 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 114x119 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 114x119
RenderSVGInlineText {#text} at (0,-12) size 6x85
+ chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 8x34 [color=#FF0000]
RenderSVGInlineText {#text} at (11,72) size 8x34
+ chunk 1 (middle anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 91x44
RenderSVGInlineText {#text} at (24,-3) size 91x44
+ chunk 1 (middle anchor, vertical) text run 3 at (19.05,17.65) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 68x13
RenderSVGContainer {use} at (314.89,77.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
RenderPath {path} at (314.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 74x170 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 74x170 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 74x170
RenderSVGInlineText {#text} at (0,-12) size 6x85
+ chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 8x34 [color=#FF0000]
RenderSVGInlineText {#text} at (11,72) size 8x34
+ chunk 1 (end anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 73x160
RenderSVGInlineText {#text} at (1,-2) size 73x159
+ chunk 1 (end anchor, vertical) text run 3 at (-3.50,18.66) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (14.89,177.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,177.29) size 120.11x30.43
RenderPath {path} at (14.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (74,26) size 63x187 contains 0 chunk(s)
+ RenderSVGText {text} at (74,26) size 63x187 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 63x187
RenderSVGInlineText {#text} at (0,-12) size 50x35
+ chunk 1 (vertical) text run 1 at (74.72,26.10) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 8x34 [color=#FF0000]
RenderSVGInlineText {#text} at (55,21) size 8x34
+ chunk 1 (vertical) text run 2 at (129.61,60.10) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 10x119
RenderSVGInlineText {#text} at (45,55) size 9x119
+ chunk 1 (vertical) text run 3 at (119.61,94.10) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (164.89,177.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,177.29) size 120.11x30.43
RenderPath {path} at (164.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 133x86 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 133x86 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 133x86
RenderSVGInlineText {#text} at (0,-12) size 43x51
+ chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 21x28 [color=#FF0000]
RenderSVGInlineText {#text} at (64,-2) size 20x27
+ chunk 1 (middle anchor, vertical) text run 2 at (59.23,18.66) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 52x68
RenderSVGInlineText {#text} at (82,5) size 52x68
+ chunk 1 (middle anchor, vertical) text run 3 at (77.22,26.10) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 73x13
RenderSVGContainer {use} at (314.89,177.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,177.29) size 120.11x30.43
RenderPath {path} at (314.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 134x102 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 134x102 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 134x102
RenderSVGInlineText {#text} at (0,-12) size 6x85
+ chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 33x82 [color=#FF0000]
RenderSVGInlineText {#text} at (11,7) size 33x82
+ chunk 1 (end anchor, vertical) text run 2 at (6.00,28.12) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 93x42
RenderSVGInlineText {#text} at (42,-2) size 92x41
+ chunk 1 (end anchor, vertical) text run 3 at (37.84,18.71) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 78x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 78x13
RenderSVGContainer {use} at (14.89,277.29) size 120.11x30.43
RenderSVGContainer {g} at (14.89,277.29) size 120.11x30.43
RenderPath {path} at (14.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (46,17) size 89x162 contains 0 chunk(s)
+ RenderSVGText {text} at (46,17) size 89x162 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 89x162
RenderSVGInlineText {#text} at (0,-12) size 62x43
+ chunk 1 (vertical) text run 1 at (46.63,17.90) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 8x34 [color=#FF0000]
RenderSVGInlineText {#text} at (81,-3) size 8x34
+ chunk 1 (vertical) text run 2 at (127.54,26.96) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 10x119
RenderSVGInlineText {#text} at (71,30) size 10x119
+ chunk 1 (vertical) text run 3 at (117.54,60.96) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (164.89,277.29) size 120.11x30.43
RenderSVGContainer {g} at (164.89,277.29) size 120.11x30.43
RenderPath {path} at (164.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 131x85 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 131x85 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 131x85
RenderSVGInlineText {#text} at (0,-12) size 6x85
+ chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 21x27 [color=#FF0000]
RenderSVGInlineText {#text} at (32,0) size 21x27
+ chunk 1 (middle anchor, vertical) text run 2 at (27.77,21.16) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 78x44
RenderSVGInlineText {#text} at (54,-3) size 78x43
+ chunk 1 (middle anchor, vertical) text run 3 at (49.13,17.90) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (314.89,277.29) size 120.11x30.43
RenderSVGContainer {g} at (314.89,277.29) size 120.11x30.43
RenderPath {path} at (314.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00C200.00,100.00,300.00,0.00,400.00,100.00C500.00,200.00,600.00,300.00,700.00,200.00C800.00,100.00,900.00,100.00,900.00,100.00"]
- RenderSVGText {text} at (-5,8) size 42x204 contains 0 chunk(s)
+ RenderSVGText {text} at (-5,8) size 42x204 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 42x204
RenderSVGInlineText {#text} at (0,-12) size 6x85
+ chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
RenderSVGTSpan {tspan} at (0,0) size 8x34 [color=#FF0000]
RenderSVGInlineText {#text} at (11,72) size 8x34
+ chunk 1 (end anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
RenderSVGTSpan {tspan} at (0,0) size 42x191
RenderSVGInlineText {#text} at (1,0) size 42x191
+ chunk 1 (end anchor, vertical) text run 3 at (-4.00,21.16) startOffset 0 endOffset 7 height 119.00: " a Path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 65x13
RenderSVGContainer {use} at (39.70,370.67) size 90.60x49.33
RenderSVGContainer {g} at (39.70,370.67) size 90.60x49.33
RenderPath {path} at (39.70,370.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (34,21) size 89x254 contains 0 chunk(s)
+ RenderSVGText {text} at (34,21) size 89x254 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 89x254
RenderSVGTSpan {tspan} at (0,0) size 54x46 [color=#008000]
RenderSVGInlineText {#text} at (0,-12) size 53x45
+ chunk 1 (vertical) text run 1 at (34.73,21.30) startOffset 0 endOffset 5 height 85.00: "super"
RenderSVGInlineText {#text} at (65,-6) size 22x78
+ chunk 1 (vertical) text run 2 at (99.82,27.69) startOffset 0 endOffset 5 height 85.00: " and "
RenderSVGTSpan {tspan} at (0,0) size 9x51 [color=#FF0000]
RenderSVGInlineText {#text} at (73,71) size 9x51
+ chunk 1 (vertical) text run 3 at (107.34,105.89) startOffset 0 endOffset 3 height 51.00: "sub"
RenderSVGInlineText {#text} at (81,122) size 8x119
+ chunk 1 (vertical) text run 4 at (115.84,156.89) startOffset 0 endOffset 7 height 119.00: "scripts"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (20,65) size 88x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 88x13
RenderSVGContainer {use} at (329.70,370.67) size 90.60x49.33
RenderSVGContainer {g} at (329.70,370.67) size 90.60x49.33
RenderPath {path} at (329.70,370.67) size 90.60x49.33 [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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
- RenderSVGText {text} at (29,21) size 94x271 contains 0 chunk(s)
+ RenderSVGText {text} at (29,21) size 94x271 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 94x271
RenderSVGTSpan {tspan} at (0,0) size 94x50 [color=#008000]
RenderSVGInlineText {#text} at (0,-12) size 93x50
+ chunk 1 (vertical) text run 1 at (29.93,21.30) startOffset 0 endOffset 8 height 136.00: "positive"
RenderSVGInlineText {#text} at (83,37) size 6x85
+ chunk 1 (vertical) text run 2 at (112.84,71.89) startOffset 0 endOffset 5 height 85.00: " and "
RenderSVGTSpan {tspan} at (0,0) size 9x136 [color=#FF0000]
RenderSVGInlineText {#text} at (80,122) size 9x136
+ chunk 1 (vertical) text run 3 at (109.84,156.89) startOffset 0 endOffset 8 height 136.00: "negative"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (20,65) size 97x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 97x13
chunk 1 (vertical) text run 1 at (5.00,3.00) startOffset 0 endOffset 12 height 276.00: "before path "
RenderSVGTextPath {textPath} at (0,0) size 91x92 [color=#FF0000]
RenderSVGInlineText {#text} at (28,3) size 91x92
+ chunk 1 (vertical) text run 2 at (33.14,24.21) startOffset 0 endOffset 7 height 161.00: "on path"
RenderSVGInlineText {#text} at (107,106) size 12x230
- chunk 1 (vertical) text run 2 at (33.14,24.21) startOffset 0 endOffset 10 height 230.00: "after path"
+ chunk 1 (vertical) text run 3 at (112.22,127.87) startOffset 0 endOffset 10 height 230.00: "after path"
RenderSVGText {text} at (0,100) size 98x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-10) size 98x13
chunk 1 text run 1 at (0.00,100.00) startOffset 0 endOffset 26 width 98.00: "text before/after textPath"
-f2aa5926e0ed54cb112b83071a3fb142
\ No newline at end of file
+8e6a70af163a7808d980a8bca7a6d172
\ No newline at end of file
-48d6172c306fa90bc2c36c943341cd3c
\ No newline at end of file
+f7f4170c359af0eec99a4faa9802b3eb
\ No newline at end of file
-22635d02eddb02adb4d18a1870561e79
\ No newline at end of file
+b0732f962c16beec2a37e85365d66f3c
\ No newline at end of file
-ace28c381e95e966adfe3b1f5f98eb53
\ No newline at end of file
+424445b808cc8200dd55418a0e7e5512
\ No newline at end of file
RenderSVGInlineText {#text} at (0,-27) size 158x33
chunk 1 (end anchor) text run 1 at (62.00,220.00) startOffset 0 endOffset 13 width 158.00: "end text tref"
RenderSVGInlineText {#text} at (0,0) size 0x0
- RenderSVGText {text} at (-9,0) size 229x293 contains 0 chunk(s) [color=#0000FF]
+ RenderSVGText {text} at (-9,0) size 229x293 contains 1 chunk(s) [color=#0000FF]
RenderSVGTextPath {textPath} at (0,0) size 229x293
RenderSVGInlineText {#text} at (0,-27) size 229x293
+ chunk 1 (end anchor) text run 1 at (-9.00,0.00) startOffset 0 endOffset 29 width 393.00: "Text-anchor: end text on path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-36) size 264x46
-56fe9073442ccf4de3670b663c02b5e8
\ No newline at end of file
+2612ace66227159723eecb180408084d
\ No newline at end of file
-c7b1b273333e0c4cd36de5b8b15c6b55
\ No newline at end of file
+8ca024cde0e7c366d222db40536e2623
\ No newline at end of file
-6e47249c1601a74c4aa4746baf61a996
\ No newline at end of file
+9f512e9fb4206e05dd950bb584547c49
\ No newline at end of file
-eb2f0f20402786e382d2a996bfa88eb8
\ No newline at end of file
+306b3a9db7a0357a624a04261c9c886d
\ No newline at end of file
-c80a5e85745b732e468da13f0db9d963
\ No newline at end of file
+42e6e41c7617f96abc9ce36b6f1de2d2
\ No newline at end of file
-81d9ef9cebbbcd20545d94f0f37f8e36
\ No newline at end of file
+006b2abf4e7801c76530efee8d9d00bb
\ No newline at end of file
-0d022ea68455f6579e9a15c7f7f20183
\ No newline at end of file
+e201ca3fd1b3cfb372d61a5a26a80bd2
\ No newline at end of file
-0032aa46aee79839662a1dbc49534952
\ No newline at end of file
+a1b292729346bd1ff093e4cf701a4605
\ No newline at end of file
RenderSVGContainer {use} at (330.88,36.70) size 366.29x140.92
RenderSVGContainer {g} at (330.88,36.70) size 366.29x140.92
RenderPath {path} at (330.88,36.70) size 366.29x140.92 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30C206.60,66.60,235.80,13.20,270.00,30.30C286.60,38.60,298.90,59.40,310.00,73.30C321.70,87.90,338.60,99.00,356.00,103.30C387.30,111.10,396.60,90.40,418.00,74.30"]
- RenderSVGText {text} at (192,27) size 171x116 contains 0 chunk(s)
+ RenderSVGText {text} at (192,27) size 171x116 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 171x116
RenderSVGInlineText {#text} at (0,-32) size 171x116
+ chunk 1 text run 1 at (192.04,27.04) startOffset 0 endOffset 14 width 226.00: "Text on a path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGContainer {g} at (27.50,83.33) size 458.33x268.33
RenderSVGContainer {use} at (55.04,130.86) size 366.29x140.91
RenderSVGContainer {g} at (55.04,130.86) size 366.29x140.91
RenderPath {path} at (55.04,130.86) size 366.29x140.91 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80C41.00,123.00,70.30,69.70,104.50,86.80C121.00,95.00,133.00,116.00,144.50,129.80C156.20,144.40,173.00,155.50,190.50,159.80C221.80,167.60,231.00,146.90,252.50,130.80"]
- RenderSVGText {text} at (26,83) size 172x117 contains 0 chunk(s)
+ RenderSVGText {text} at (26,83) size 172x117 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 172x117
RenderSVGTSpan {tspan} at (0,0) size 29x58 [color=#FF0000]
RenderSVGInlineText {#text} at (0,-9) size 28x58
+ chunk 1 text run 1 at (26.50,106.31) startOffset 0 endOffset 2 width 39.00: "Te"
RenderSVGTSpan {tspan} at (0,0) size 18x41
RenderSVGInlineText {#text} at (21,-11) size 18x41
+ chunk 1 text run 2 at (47.67,104.04) startOffset 0 endOffset 1 width 18.00: "x"
RenderSVGInlineText {#text} at (35,-32) size 136x116
+ chunk 1 text run 3 at (61.18,83.54) startOffset 0 endOffset 11 width 169.00: "t on a path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderPath {rect} at (27.50,280.83) size 458.33x70 [stroke={[type=SOLID] [color=#000000]}] [data="M17.00,169.00L291.00,169.00L291.00,210.00L17.00,210.00"]
RenderSVGText {text} at (19,185) size 223x22 contains 1 chunk(s)
RenderSVGContainer {use} at (188.33,385) size 500x6.67
RenderSVGContainer {g} at (188.33,385) size 500x6.67
RenderPath {path} at (188.33,385) size 500x6.67 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [data="M113.00,233.00L413.00,233.00"]
- RenderSVGText {text} at (212,233) size 181x27 contains 0 chunk(s)
+ RenderSVGText {text} at (212,233) size 181x27 contains 1 chunk(s)
RenderSVGTextPath {textPath} at (0,0) size 181x27
RenderSVGInlineText {#text} at (0,-22) size 181x27
+ chunk 1 text run 1 at (212.00,233.00) startOffset 0 endOffset 16 width 181.00: "The Text on path"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderPath {rect} at (195.83,415.83) size 435x70 [stroke={[type=SOLID] [color=#000000]}] [data="M118.00,250.00L378.00,250.00L378.00,291.00L118.00,291.00"]
RenderSVGText {text} at (120,267) size 239x22 contains 1 chunk(s)
-cfc2f6242af0d7310907e0b037651bc4
\ No newline at end of file
+6daff68c0c5f3fd0c65078ab7453a771
\ No newline at end of file
-3a5423c6749fd2192063255cdce84fab
\ No newline at end of file
+0bb60b52fc5e3563650aabc77576d0ab
\ No newline at end of file
-b500f16a0c456da1df43a87e84c3a975
\ No newline at end of file
+17c241ca70bc498226f93539a3798a59
\ No newline at end of file
-a95321586d52c3bd0bd89a734214a303
\ No newline at end of file
+de102875f3fd077b90f46f452763bffb
\ No newline at end of file
-a2ebbe6fff7a96003af36921ba78498c
\ No newline at end of file
+ca079fd04e880db097a58362cf079194
\ No newline at end of file
-499bb4186eb7c3430df9f178ebc63529
\ No newline at end of file
+5cbf94c96d80d1e3ee1b5d69893df4eb
\ No newline at end of file
-19914efd47b3875144595ecd71ebe9dc
\ No newline at end of file
+e5759e5ce1f896dc382e930688c3bf58
\ No newline at end of file
-8b9db6d7a439d65c2bbe412f2491a25e
\ No newline at end of file
+4eb6dcfe4ea554d8d768d14b14e141c3
\ No newline at end of file
-874c7d5a9f63d4d302f3f599a8c78f81
\ No newline at end of file
+87bdfc86ae9a32c94ffdb324ae891e87
\ No newline at end of file
-9dd40058b514beca91ea3024d30dc15e
\ No newline at end of file
+c5ff33314697f6e16997cb78422d1a63
\ No newline at end of file
-e8e8c264109e5a6324e270e28960e13b
\ No newline at end of file
+aef793787a3d51b18b46be9ff3bd88f4
\ No newline at end of file
-f389a70ba2c698da0b4babb6935a34bc
\ No newline at end of file
+56d459c01fa89880151a05ed45db409f
\ No newline at end of file
-6d6993a00459eca31a70b7a989625957
\ No newline at end of file
+69b14183e02268560e558e744c66560b
\ No newline at end of file
-603c75fd04ded0b2d63d61fc9b4ba772
\ No newline at end of file
+68067dec249294ed6362c92adfe81684
\ No newline at end of file
+2007-07-30 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver & Rob.
+
+ Enable SVG textPath selection. Actually build chunks for them instead of
+ ignoring them - was easier than I thought. Respect per-character transformation
+ when calculating the chunk boundaries for the selection rectangles. Also fixes
+ selection rect drawing of rotated characters.
+
+ Next thing todo is to unify the glyph size calculations, as per-glyph transformations
+ are not respected when calculating flow box sizes in SVGRootInlineBox.
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGHiddenContainer):
+ * rendering/RenderSVGHiddenContainer.h:
+ (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::isChildOfHiddenContainer):
+ (WebCore::RenderSVGInlineText::selectionRect):
+ (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
+ * rendering/SVGCharacterLayoutInfo.h:
+ (WebCore::SVGTextChunk::SVGTextChunk):
+ (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::selectionRect):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::applyTextAnchorToTextChunk):
+ (WebCore::SVGRootInlineBox::buildTextChunks):
+
2007-07-25 Rob Buis <buis@kde.org>
Reviewed by Nikolas.
#if ENABLE(SVG)
virtual bool isSVGRoot() const { return false; }
virtual bool isSVGContainer() const { return false; }
+ virtual bool isSVGHiddenContainer() const { return false; }
virtual bool isRenderPath() const { return false; }
virtual bool isSVGText() const { return false; }
virtual ~RenderSVGHiddenContainer();
virtual bool isSVGContainer() const { return true; }
+ virtual bool isSVGHiddenContainer() const { return true; }
+
virtual const char* renderName() const { return "RenderSVGHiddenContainer"; }
virtual bool requiresLayer();
namespace WebCore {
+static inline bool isChildOfHiddenContainer(RenderObject* start)
+{
+ while (start) {
+ if (start->isSVGHiddenContainer())
+ return true;
+
+ start = start->parent();
+ }
+
+ return false;
+}
+
RenderSVGInlineText::RenderSVGInlineText(Node* n, StringImpl* str)
: RenderText(n, str)
{
if (selectionState() == SelectionNone)
return rect;
+ // Early exit if we're ie. a <text> within a <defs> section.
+ if (isChildOfHiddenContainer(this))
+ return rect;
+
// Now calculate startPos and endPos for painting selection.
// We include a selection while endPos > 0
int startPos, endPos;
IntRect rect;
RenderBlock* cb = containingBlock();
- if (!cb)
+ if (!cb || !cb->container())
return rect;
RenderSVGRoot* root = findSVGRootObject(parent());
// Mimic RenderBox::computeAbsoluteRepaintRect() functionality. But only the subset needed for SVG and respecting SVG transformations.
int x, y;
- cb->absolutePosition(x, y);
+ cb->container()->absolutePosition(x, y);
// Remove HTML parent translation offsets here! These need to be retrieved from the RenderSVGRoot object.
+ // But do take the containingBlocks's container position into account, ie. SVG text in scrollable <div>.
AffineTransform htmlParentCtm = root->RenderContainer::absoluteTransform();
- FloatRect fixedRect = FloatRect(x - htmlParentCtm.e(), y - htmlParentCtm.f(), rect.width(), rect.height());
- rect = enclosingIntRect(absoluteTransform().mapRect(fixedRect));
- // Work around rounding issues which may occour above!
- rect.inflate(1);
- return rect;
+ FloatRect fixedRect(rect.x() + x - xPos() - htmlParentCtm.e(), rect.y() + y - yPos() - htmlParentCtm.f(), rect.width(), rect.height());
+ return enclosingIntRect(absoluteTransform().mapRect(fixedRect));
}
InlineTextBox* RenderSVGInlineText::createInlineTextBox()
SVGTextChunk()
: anchor(TA_START)
, isVerticalText(false)
+ , isTextPath(false)
, start(0)
, end(0)
{ }
ETextAnchor anchor;
bool isVerticalText : 1;
+ bool isTextPath : 1;
Vector<SVGChar>::iterator start;
Vector<SVGChar>::iterator end;
struct SVGTextChunkLayoutInfo {
SVGTextChunkLayoutInfo()
: assignChunkProperties(true)
- , advanceOnly(false)
+ , handlingTextPath(false)
{
}
bool assignChunkProperties : 1;
- bool advanceOnly : 1;
+ bool handlingTextPath : 1;
SVGTextChunk chunk;
Vector<SVGChar>::iterator it;
const Font& font = textObject()->style()->font();
- float lowX = FLT_MAX, lowY = FLT_MAX;
- float highX = FLT_MIN, highY = FLT_MIN;
-
+ FloatRect selectionRect;
+
Vector<SVGTextChunk>::iterator it = chunks.begin();
Vector<SVGTextChunk>::iterator end = chunks.end();
continue;
}
- // Walk chunk finding closest character
+ // Figure out chunk size
Vector<SVGChar>::iterator itCharBegin = curChunk.start + chunkOffset - firstRangeInFirstChunkStartOffset + range.startOffset;
Vector<SVGChar>::iterator itCharEnd = curChunk.start + chunkOffset - firstRangeInFirstChunkStartOffset + range.endOffset;
ASSERT(itCharEnd <= curChunk.end);
for (Vector<SVGChar>::iterator itChar = itCharBegin; itChar != itCharEnd; ++itChar) {
unsigned int newOffset = (itChar - itCharBegin) + firstRangeInFirstChunkStartOffset;
-
float glyphWidth = font.floatWidth(TextRun(textObject()->text()->characters() + newOffset, 1), TextStyle(0, 0));
- float glyphHeight = font.ascent() + font.descent();
-
- float x = (*itChar).x;
- float y = (*itChar).y;
+
+ float x1 = (*itChar).x;
+ float x2 = (*itChar).x + glyphWidth;
- if (x < lowX)
- lowX = x;
+ float y1 = (*itChar).y - font.ascent();
+ float y2 = (*itChar).y + font.descent();
- if (x + glyphWidth > highX)
- highX = x + glyphWidth;
+ FloatRect glyphRect(x1, y1, x2 - x1, y2 - y1);
- if (y < lowY)
- lowY = y;
+ // Take per-character transformations into account
+ if (!(*itChar).transform.isIdentity())
+ glyphRect = (*itChar).transform.mapRect(glyphRect);
- if (y + glyphHeight > highY)
- highY = y + glyphHeight;
+ selectionRect.unite(glyphRect);
}
}
}
- return enclosingIntRect(FloatRect(tx + lowX, ty + lowY, highX - lowX, highY - lowY));
+ return enclosingIntRect(selectionRect);
}
} // namespace WebCore
{
#if DEBUG_CHUNK_BUILDING > 0
{
- fprintf(stderr, "Handle TEXT CHUNK! anchor=%i, isVerticalText=%i, start=%p, end=%p -> dist: %i\n", (int) chunk.anchor, (int) chunk.isVerticalText, chunk.start, chunk.end, (unsigned int) (chunk.end-chunk.start));
+ fprintf(stderr, "Handle TEXT CHUNK! anchor=%i, isVerticalText=%i, isTextPath=%i start=%p, end=%p -> dist: %i\n",
+ (int) chunk.anchor, (int) chunk.isVerticalText, (int) chunk.isTextPath, chunk.start, chunk.end, (unsigned int) (chunk.end-chunk.start));
Vector<SVGInlineBoxCharacterRange>::iterator boxIt = chunk.boxes.begin();
Vector<SVGInlineBoxCharacterRange>::iterator boxEnd = chunk.boxes.end();
}
#endif
- if (chunk.anchor == TA_START)
+ if (chunk.anchor == TA_START || chunk.isTextPath)
return;
float shift = 0.0;
continue;
#if DEBUG_CHUNK_BUILDING > 1
- fprintf(stderr, " -> Handle inline text box (%p) with %i characters, advanceOnly=%i\n", textBox, length, (int) info.advanceOnly);
+ fprintf(stderr, " -> Handle inline text box (%p) with %i characters, handlingTextPath=%i\n", textBox, length, (int) info.handlingTextPath);
#endif
- if (info.advanceOnly) {
- info.it += length;
- continue;
- }
-
RenderText* text = textBox->textObject();
ASSERT(text);
info.assignChunkProperties = false;
info.chunk.isVerticalText = isVerticalWritingMode(text->style()->svgStyle());
+ info.chunk.isTextPath = info.handlingTextPath;
info.chunk.anchor = text->style()->svgStyle()->textAnchor();
#if DEBUG_CHUNK_BUILDING > 1
info.assignChunkProperties = false;
info.chunk.isVerticalText = isVerticalWritingMode(text->style()->svgStyle());
+ info.chunk.isTextPath = info.handlingTextPath;
info.chunk.anchor = text->style()->svgStyle()->textAnchor();
range.box = curr;
ASSERT(curr->isInlineFlowBox());
InlineFlowBox* flowBox = static_cast<InlineFlowBox*>(curr);
- // <textPath> doesn't need this chunk logic. FIXME: It's needed for text selection! (not for text-anchor though)
bool isTextPath = flowBox->object()->element()->hasTagName(SVGNames::textPathTag);
#if DEBUG_CHUNK_BUILDING > 1
#endif
if (isTextPath)
- info.advanceOnly = true;
+ info.handlingTextPath = true;
buildTextChunks(flowBox, info);
if (isTextPath)
- info.advanceOnly = false;
+ info.handlingTextPath = false;
}
}