Changeset 26103 in webkit


Ignore:
Timestamp:
Oct 7, 2007 5:41:32 PM (17 years ago)
Author:
zimmermann
Message:

Reviewed by Eric.

Fix some issues with rotation & baseline-shift, when spanning
across <tspan> elements. Highlighted by the existing batik tests.

Location:
branches/feature-branch
Files:
35 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-branch/LayoutTests/ChangeLog

    r26101 r26103  
     12007-10-07  Nikolas Zimmermann  <zimmermann@kde.org>
     2
     3        Reviewed by Eric.
     4
     5        Update results after the rotation & baseline-shift fixes.
     6
     7        * svg/W3C-SVG-1.1/text-align-04-b-expected.checksum:
     8        * svg/W3C-SVG-1.1/text-align-04-b-expected.png:
     9        * svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
     10        * svg/W3C-SVG-1.1/text-path-01-b-expected.checksum:
     11        * svg/W3C-SVG-1.1/text-path-01-b-expected.png:
     12        * svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
     13        * svg/batik/text/longTextOnPath-expected.checksum:
     14        * svg/batik/text/longTextOnPath-expected.png:
     15        * svg/batik/text/longTextOnPath-expected.txt:
     16        * svg/batik/text/smallFonts-expected.txt:
     17        * svg/batik/text/textEffect3-expected.checksum:
     18        * svg/batik/text/textEffect3-expected.png:
     19        * svg/batik/text/textEffect3-expected.txt:
     20        * svg/batik/text/textGlyphOrientationHorizontal-expected.checksum:
     21        * svg/batik/text/textGlyphOrientationHorizontal-expected.png:
     22        * svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
     23        * svg/batik/text/textLayout2-expected.checksum:
     24        * svg/batik/text/textLayout2-expected.png:
     25        * svg/batik/text/textLayout2-expected.txt:
     26        * svg/batik/text/textOnPath-expected.checksum:
     27        * svg/batik/text/textOnPath-expected.png:
     28        * svg/batik/text/textOnPath-expected.txt:
     29        * svg/batik/text/textOnPath2-expected.checksum:
     30        * svg/batik/text/textOnPath2-expected.png:
     31        * svg/batik/text/textOnPath2-expected.txt:
     32        * svg/batik/text/textOnPath3-expected.checksum:
     33        * svg/batik/text/textOnPath3-expected.png:
     34        * svg/batik/text/textOnPath3-expected.txt:
     35        * svg/batik/text/textOnPathSpaces-expected.checksum:
     36        * svg/batik/text/textOnPathSpaces-expected.png:
     37        * svg/batik/text/textOnPathSpaces-expected.txt:
     38        * svg/batik/text/verticalText-expected.txt:
     39        * svg/batik/text/verticalTextOnPath-expected.checksum:
     40        * svg/batik/text/verticalTextOnPath-expected.png:
     41        * svg/batik/text/verticalTextOnPath-expected.txt:
     42        * svg/text/text-align-04-b-expected.checksum:
     43        * svg/text/text-align-04-b-expected.png:
     44        * svg/text/text-align-04-b-expected.txt:
     45        * svg/text/text-path-01-b-expected.checksum:
     46        * svg/text/text-path-01-b-expected.png:
     47        * svg/text/text-path-01-b-expected.txt:
     48
    1492007-10-07  Mark Rowe  <mrowe@apple.com>
    250
  • branches/feature-branch/LayoutTests/svg/batik/text/longTextOnPath-expected.checksum

    r25825 r26103  
    1 cee6c9725e8a57efa2c850d462f7450e
     12724b83c9100a58e5fad98d7c98700df
  • branches/feature-branch/LayoutTests/svg/batik/text/longTextOnPath-expected.txt

    r25876 r26103  
    1313          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"]
    1414      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"]
    15       RenderSVGText {text} at (21,150) size 406x263 contains 1 chunk(s)
     15      RenderSVGText {text} at (26,150) size 406x263 contains 1 chunk(s)
    1616        RenderSVGTextPath {textPath} at (0,0) size 406x263
    17           RenderSVGInlineText {#text} at (0,-18) size 406x263
    18             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. "
    19             chunk 1 text run 2 at (27.00,310.00) startOffset 0 endOffset 85 width 693.00: "However if it hasn't slowed down by now I'm guessing that it won't slow down at all. "
    20             chunk 1 text run 3 at (22.00,330.00) startOffset 0 endOffset 79 width 613.00: "But you never know for sure until you try it, so I am, and here is the result. "
    21             chunk 1 text run 4 at (25.00,370.00) startOffset 0 endOffset 70 width 551.00: "Selection does bog down a little near the end but it's redraw related."
     17          RenderSVGInlineText {#text} at (-5,-18) size 406x263
     18            chunk 1 text run 1 at (26.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. "
     19            chunk 1 text run 2 at (31.50,310.00) startOffset 0 endOffset 85 width 693.00: "However if it hasn't slowed down by now I'm guessing that it won't slow down at all. "
     20            chunk 1 text run 3 at (26.50,330.00) startOffset 0 endOffset 79 width 613.00: "But you never know for sure until you try it, so I am, and here is the result. "
     21            chunk 1 text run 4 at (29.50,370.00) startOffset 0 endOffset 70 width 551.00: "Selection does bog down a little near the end but it's redraw related."
    2222        RenderSVGInlineText {#text} at (0,0) size 0x0
    2323    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/smallFonts-expected.txt

    r26089 r26103  
    139139            RenderSVGContainer {g} at (264.73,406.72) size 120.27x31.56
    140140              RenderPath {path} at (264.73,406.72) size 120.27x31.56 [transform={m=((0.00,0.00)(0.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#008000] [stroke width=5.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"]
    141           RenderSVGText {text} at (-4,-1) size 94x14 contains 1 chunk(s)
     141          RenderSVGText {text} at (0,0) size 94x14 contains 1 chunk(s)
    142142            RenderSVGTextPath {textPath} at (0,0) size 94x14
    143               RenderSVGInlineText {#text} at (1,-10) size 52x14
    144                 chunk 1 text run 1 at (-3.50,0.00) startOffset 0 endOffset 11 width 50.00: "Small text "
     143              RenderSVGInlineText {#text} at (-3,-11) size 52x14
     144                chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 11 width 50.00: "Small text "
    145145              RenderSVGTSpan {tspan} at (0,0) size 12x14
    146                 RenderSVGInlineText {#text} at (51,-10) size 12x14
    147                   chunk 1 text run 2 at (47.00,-0.10) startOffset 0 endOffset 2 width 12.00: "on"
     146                RenderSVGInlineText {#text} at (47,-11) size 12x14
     147                  chunk 1 text run 2 at (50.00,0.00) startOffset 0 endOffset 2 width 12.00: "on"
    148148              RenderSVGTSpan {tspan} at (0,0) size 31x14
    149                 RenderSVGInlineText {#text} at (64,-10) size 31x14
    150                   chunk 1 text run 3 at (60.50,0.00) startOffset 0 endOffset 7 width 32.00: " a Path"
     149                RenderSVGInlineText {#text} at (60,-11) size 31x14
     150                  chunk 1 text run 3 at (62.00,0.00) startOffset 0 endOffset 7 width 32.00: " a Path"
    151151            RenderSVGInlineText {#text} at (0,0) size 0x0
    152152    RenderSVGContainer {use} at (0,0) size 0x0 [transform={m=((0.02,0.00)(0.00,0.02)) t=(0.00,0.00)}]
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect3-expected.checksum

    r26089 r26103  
    1 8af110ae21e07a15407e5b6c932605bf
     1d5f8dfd26f903716af5035d83dbd031c
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect3-expected.txt

    r26089 r26103  
    55  RenderView at (0,0) size 800x600
    66layer at (0,0) size 450x500
    7   RenderSVGRoot {svg} at (52,16) size 367x387
    8     RenderSVGContainer {g} at (52,16) size 367x387
     7  RenderSVGRoot {svg} at (52,16) size 363x387
     8    RenderSVGContainer {g} at (52,16) size 363x387
    99      RenderSVGText {text} at (99,30) size 252x17 contains 1 chunk(s)
    1010        RenderSVGInlineText {#text} at (0,-14) size 252x17
     
    2222          RenderSVGGradientStop {stop} at (0,0) size 0x0
    2323          RenderSVGGradientStop {stop} at (0,0) size 0x0
    24       RenderSVGText {text} at (54,140) size 150x99 contains 1 chunk(s)
     24      RenderSVGText {text} at (54,140) size 146x79 contains 1 chunk(s)
    2525        RenderSVGInlineText {#text} at (0,-28) size 36x59
    2626          chunk 1 (middle anchor) text run 1 at (54.50,160.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    3434            chunk 1 (middle anchor) text run 4 at (139.50,140.00) startOffset 0 endOffset 1 width 11.00: "I"
    3535        RenderSVGTSpan {tspan} at (0,0) size 54x68
    36           RenderSVGInlineText {#text} at (96,-68) size 54x68
     36          RenderSVGInlineText {#text} at (92,-46) size 54x68
    3737            chunk 1 (middle anchor) text run 5 at (150.50,140.00) startOffset 0 endOffset 1 width 35.00: "K"
    3838        RenderSVGInlineText {#text} at (0,0) size 0x0
    39       RenderSVGText {text} at (261,140) size 156x102 contains 1 chunk(s)
     39      RenderSVGText {text} at (261,140) size 152x81 contains 1 chunk(s)
    4040        RenderSVGInlineText {#text} at (0,-28) size 36x61
    4141          chunk 1 (middle anchor) text run 1 at (261.50,160.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    4949            chunk 1 (middle anchor) text run 4 at (347.50,140.00) startOffset 0 endOffset 1 width 13.00: "I"
    5050        RenderSVGTSpan {tspan} at (0,0) size 57x71
    51           RenderSVGInlineText {#text} at (99,-69) size 57x71
     51          RenderSVGInlineText {#text} at (95,-46) size 57x71
    5252            chunk 1 (middle anchor) text run 5 at (360.50,140.00) startOffset 0 endOffset 1 width 38.00: "K"
    5353        RenderSVGInlineText {#text} at (0,0) size 0x0
    54       RenderSVGText {text} at (54,240) size 150x99 contains 1 chunk(s)
     54      RenderSVGText {text} at (54,240) size 146x79 contains 1 chunk(s)
    5555        RenderSVGInlineText {#text} at (0,-28) size 36x59
    5656          chunk 1 (middle anchor) text run 1 at (54.50,260.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    6464            chunk 1 (middle anchor) text run 4 at (139.50,240.00) startOffset 0 endOffset 1 width 11.00: "I"
    6565        RenderSVGTSpan {tspan} at (0,0) size 54x68
    66           RenderSVGInlineText {#text} at (96,-68) size 54x68
     66          RenderSVGInlineText {#text} at (92,-46) size 54x68
    6767            chunk 1 (middle anchor) text run 5 at (150.50,240.00) startOffset 0 endOffset 1 width 35.00: "K"
    6868        RenderSVGInlineText {#text} at (0,0) size 0x0
    69       RenderSVGText {text} at (261,240) size 156x102 contains 1 chunk(s)
     69      RenderSVGText {text} at (261,240) size 152x81 contains 1 chunk(s)
    7070        RenderSVGInlineText {#text} at (0,-28) size 36x61
    7171          chunk 1 (middle anchor) text run 1 at (261.50,260.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    7979            chunk 1 (middle anchor) text run 4 at (347.50,240.00) startOffset 0 endOffset 1 width 13.00: "I"
    8080        RenderSVGTSpan {tspan} at (0,0) size 57x71
    81           RenderSVGInlineText {#text} at (99,-69) size 57x71
     81          RenderSVGInlineText {#text} at (95,-46) size 57x71
    8282            chunk 1 (middle anchor) text run 5 at (360.50,240.00) startOffset 0 endOffset 1 width 38.00: "K"
    8383        RenderSVGInlineText {#text} at (0,0) size 0x0
    84       RenderSVGText {text} at (54,340) size 150x99 contains 1 chunk(s)
     84      RenderSVGText {text} at (54,340) size 146x79 contains 1 chunk(s)
    8585        RenderSVGInlineText {#text} at (0,-28) size 36x59
    8686          chunk 1 (middle anchor) text run 1 at (54.50,360.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    9494            chunk 1 (middle anchor) text run 4 at (139.50,340.00) startOffset 0 endOffset 1 width 11.00: "I"
    9595        RenderSVGTSpan {tspan} at (0,0) size 54x68
    96           RenderSVGInlineText {#text} at (96,-68) size 54x68
     96          RenderSVGInlineText {#text} at (92,-46) size 54x68
    9797            chunk 1 (middle anchor) text run 5 at (150.50,340.00) startOffset 0 endOffset 1 width 35.00: "K"
    9898        RenderSVGInlineText {#text} at (0,0) size 0x0
    99       RenderSVGText {text} at (261,340) size 156x102 contains 1 chunk(s)
     99      RenderSVGText {text} at (261,340) size 152x81 contains 1 chunk(s)
    100100        RenderSVGInlineText {#text} at (0,-28) size 36x61
    101101          chunk 1 (middle anchor) text run 1 at (261.50,360.00) startOffset 0 endOffset 1 width 35.00: "B"
     
    109109            chunk 1 (middle anchor) text run 4 at (347.50,340.00) startOffset 0 endOffset 1 width 13.00: "I"
    110110        RenderSVGTSpan {tspan} at (0,0) size 57x71
    111           RenderSVGInlineText {#text} at (99,-69) size 57x71
     111          RenderSVGInlineText {#text} at (95,-46) size 57x71
    112112            chunk 1 (middle anchor) text run 5 at (360.50,340.00) startOffset 0 endOffset 1 width 38.00: "K"
    113113        RenderSVGInlineText {#text} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textGlyphOrientationHorizontal-expected.checksum

    r25825 r26103  
    1 4162cc9623a6ce2a73e273f90943ce29
     14957f09d86b896a2a73405f456dfd2a0
  • branches/feature-branch/LayoutTests/svg/batik/text/textGlyphOrientationHorizontal-expected.txt

    r26089 r26103  
    1818          RenderSVGContainer {g} at (239.29,68.42) size 160.71x43.16
    1919            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"]
    20         RenderSVGText {text} at (17,4) size 137x69 contains 1 chunk(s)
     20        RenderSVGText {text} at (25,12) size 137x69 contains 1 chunk(s)
    2121          RenderSVGTextPath {textPath} at (0,0) size 137x69
    22             RenderSVGInlineText {#text} at (-13,-14) size 71x54
    23               chunk 1 text run 1 at (17.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
     22            RenderSVGInlineText {#text} at (-21,-22) size 71x54
     23              chunk 1 text run 1 at (25.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
    2424            RenderSVGTSpan {tspan} at (0,0) size 34x35
    25               RenderSVGInlineText {#text} at (55,-19) size 34x35
    26                 chunk 1 text run 2 at (69.83,4.21) startOffset 0 endOffset 2 width 17.00: "is"
     25              RenderSVGInlineText {#text} at (47,-27) size 34x35
     26                chunk 1 text run 2 at (72.33,14.21) startOffset 0 endOffset 2 width 17.00: "is"
    2727            RenderSVGTSpan {tspan} at (0,0) size 62x47
    28               RenderSVGInlineText {#text} at (62,3) size 62x47
    29                 chunk 1 text run 3 at (82.43,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
     28              RenderSVGInlineText {#text} at (54,-5) size 62x47
     29                chunk 1 text run 3 at (85.93,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
    3030          RenderSVGInlineText {#text} at (0,0) size 0x0
    3131      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"]
     
    3737          RenderSVGContainer {g} at (49.55,158.48) size 320.45x43.05
    3838            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"]
    39         RenderSVGText {text} at (19,3) size 153x62 contains 1 chunk(s)
     39        RenderSVGText {text} at (27,11) size 153x62 contains 1 chunk(s)
    4040          RenderSVGTextPath {textPath} at (0,0) size 153x62
    41             RenderSVGInlineText {#text} at (-9,-7) size 67x48
    42               chunk 1 text run 1 at (19.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
     41            RenderSVGInlineText {#text} at (-17,-15) size 67x48
     42              chunk 1 text run 1 at (27.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
    4343            RenderSVGTSpan {tspan} at (0,0) size 25x29
    44               RenderSVGInlineText {#text} at (47,-21) size 25x29
    45                 chunk 1 text run 2 at (74.95,3.71) startOffset 0 endOffset 2 width 17.00: "is"
     44              RenderSVGInlineText {#text} at (39,-29) size 25x29
     45                chunk 1 text run 2 at (77.45,13.71) startOffset 0 endOffset 2 width 17.00: "is"
    4646            RenderSVGTSpan {tspan} at (0,0) size 74x41
    47               RenderSVGInlineText {#text} at (70,-13) size 74x41
    48                 chunk 1 text run 3 at (91.61,11.78) startOffset 0 endOffset 5 width 65.00: " Good"
     47              RenderSVGInlineText {#text} at (62,-21) size 74x41
     48                chunk 1 text run 3 at (95.11,11.78) startOffset 0 endOffset 5 width 65.00: " Good"
    4949          RenderSVGInlineText {#text} at (0,0) size 0x0
    5050      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"]
     
    5656          RenderSVGContainer {g} at (239.29,228.42) size 160.71x43.16
    5757            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"]
    58         RenderSVGText {text} at (17,4) size 137x69 contains 1 chunk(s)
     58        RenderSVGText {text} at (25,12) size 137x69 contains 1 chunk(s)
    5959          RenderSVGTextPath {textPath} at (0,0) size 137x69
    60             RenderSVGInlineText {#text} at (-13,-14) size 71x54
    61               chunk 1 text run 1 at (17.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
     60            RenderSVGInlineText {#text} at (-21,-22) size 71x54
     61              chunk 1 text run 1 at (25.67,12.16) startOffset 0 endOffset 6 width 60.00: "Batik "
    6262            RenderSVGTSpan {tspan} at (0,0) size 34x35
    63               RenderSVGInlineText {#text} at (55,-19) size 34x35
    64                 chunk 1 text run 2 at (69.83,4.21) startOffset 0 endOffset 2 width 17.00: "is"
     63              RenderSVGInlineText {#text} at (47,-27) size 34x35
     64                chunk 1 text run 2 at (72.33,14.21) startOffset 0 endOffset 2 width 17.00: "is"
    6565            RenderSVGTSpan {tspan} at (0,0) size 62x47
    66               RenderSVGInlineText {#text} at (62,3) size 62x47
    67                 chunk 1 text run 3 at (82.43,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
     66              RenderSVGInlineText {#text} at (54,-5) size 62x47
     67                chunk 1 text run 3 at (85.93,25.89) startOffset 0 endOffset 5 width 65.00: " Good"
    6868          RenderSVGInlineText {#text} at (0,0) size 0x0
    6969      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"]
     
    7575          RenderSVGContainer {g} at (49.55,348.48) size 320.45x43.05
    7676            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"]
    77         RenderSVGText {text} at (19,3) size 153x62 contains 1 chunk(s)
     77        RenderSVGText {text} at (27,11) size 153x62 contains 1 chunk(s)
    7878          RenderSVGTextPath {textPath} at (0,0) size 153x62
    79             RenderSVGInlineText {#text} at (-9,-7) size 67x48
    80               chunk 1 text run 1 at (19.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
     79            RenderSVGInlineText {#text} at (-17,-15) size 67x48
     80              chunk 1 text run 1 at (27.16,17.35) startOffset 0 endOffset 6 width 60.00: "Batik "
    8181            RenderSVGTSpan {tspan} at (0,0) size 25x29
    82               RenderSVGInlineText {#text} at (47,-21) size 25x29
    83                 chunk 1 text run 2 at (74.95,3.71) startOffset 0 endOffset 2 width 17.00: "is"
     82              RenderSVGInlineText {#text} at (39,-29) size 25x29
     83                chunk 1 text run 2 at (77.45,13.71) startOffset 0 endOffset 2 width 17.00: "is"
    8484            RenderSVGTSpan {tspan} at (0,0) size 74x41
    85               RenderSVGInlineText {#text} at (70,-13) size 74x41
    86                 chunk 1 text run 3 at (91.61,11.78) startOffset 0 endOffset 5 width 65.00: " Good"
     85              RenderSVGInlineText {#text} at (62,-21) size 74x41
     86                chunk 1 text run 3 at (95.11,11.78) startOffset 0 endOffset 5 width 65.00: " Good"
    8787          RenderSVGInlineText {#text} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout2-expected.checksum

    r25876 r26103  
    1 f16cb802bc9b04fb1386172f7bd44c96
     12ccde3fc8bdecfdeec597983108b164e
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout2-expected.txt

    r26089 r26103  
    22  RenderView at (0,0) size 800x600
    33layer at (0,0) size 450x500
    4   RenderSVGRoot {svg} at (90,36) size 250x433
     4  RenderSVGRoot {svg} at (90,36) size 250x436
    55    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    66      RenderSVGText {text} at (0,0) size 44x18 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-14) size 44x18
    88          chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    9     RenderSVGContainer {g} at (90,36) size 250x433
     9    RenderSVGContainer {g} at (90,36) size 250x436
    1010      RenderSVGText {text} at (140,50) size 170x17 contains 1 chunk(s)
    1111        RenderSVGInlineText {#text} at (0,-14) size 170x17
     
    9494          chunk 15 text run 1 at (0.00,40.00) startOffset 14 endOffset 15 width 7.00: "r"
    9595          chunk 16 text run 1 at (0.00,20.00) startOffset 15 endOffset 16 width 9.00: "e"
    96       RenderSVGText {text} at (149,450) size 152x43 contains 1 chunk(s)
     96      RenderSVGText {text} at (149,450) size 152x20 contains 1 chunk(s)
    9797        RenderSVGInlineText {#text} at (0,-13) size 63x17
    9898          chunk 1 (middle anchor) text run 1 at (149.00,450.00) startOffset 0 endOffset 10 width 63.00: "Text with "
    99         RenderSVGTSpan {tspan} at (0,0) size 46x43
    100           RenderSVGInlineText {#text} at (63,-26) size 46x43
     99        RenderSVGTSpan {tspan} at (0,0) size 46x20
     100          RenderSVGInlineText {#text} at (62,-15) size 46x20
    101101            chunk 1 (middle anchor) text run 2 at (212.00,450.00) startOffset 0 endOffset 7 width 43.00: "rotated"
    102102        RenderSVGInlineText {#text} at (106,-13) size 46x17
    103103          chunk 1 (middle anchor) text run 3 at (255.00,450.00) startOffset 0 endOffset 7 width 46.00: " glyphs"
    104       RenderSVGText {text} at (162,465) size 125x33 contains 1 chunk(s)
    105         RenderSVGInlineText {#text} at (1,-29) size 125x33
     104      RenderSVGText {text} at (162,465) size 131x20 contains 1 chunk(s)
     105        RenderSVGInlineText {#text} at (-2,-13) size 131x20
    106106          chunk 1 (middle anchor) text run 1 at (162.00,465.00) startOffset 0 endOffset 19 width 126.00: "More rotated glyphs"
    107107    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath-expected.checksum

    r25825 r26103  
    1 d80ced9fe170a3e08fc2f294fc7648a1
     154488eeee201fcefdde2a5e79d732a8d
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath-expected.txt

    r26089 r26103  
    22  RenderView at (0,0) size 800x600
    33layer at (0,0) size 450x500
    4   RenderSVGRoot {svg} at (11,26) size 427x417
    5     RenderSVGContainer {g} at (11,26) size 427x417
     4  RenderSVGRoot {svg} at (10,26) size 428x417
     5    RenderSVGContainer {g} at (10,26) size 428x417
    66      RenderSVGText {text} at (160,40) size 130x17 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-14) size 130x17
     
    1414          RenderSVGContainer {g} at (29.70,70.67) size 90.60x49.33
    1515            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"]
    16         RenderSVGText {text} at (24,3) size 122x66 contains 1 chunk(s)
     16        RenderSVGText {text} at (30,12) size 122x66 contains 1 chunk(s)
    1717          RenderSVGTextPath {textPath} at (0,0) size 122x66
    18             RenderSVGInlineText {#text} at (-13,-2) size 43x50
    19               chunk 1 text run 1 at (24.45,18.29) startOffset 0 endOffset 5 width 42.00: "Text "
     18            RenderSVGInlineText {#text} at (-19,-11) size 43x50
     19              chunk 1 text run 1 at (30.45,18.29) startOffset 0 endOffset 5 width 42.00: "Text "
    2020            RenderSVGTSpan {tspan} at (0,0) size 28x27
    21               RenderSVGInlineText {#text} at (19,-18) size 28x27
    22                 chunk 1 text run 2 at (51.75,3.11) startOffset 0 endOffset 2 width 20.00: "on"
     21              RenderSVGInlineText {#text} at (13,-27) size 28x27
     22                chunk 1 text run 2 at (56.75,13.11) startOffset 0 endOffset 2 width 20.00: "on"
    2323            RenderSVGTSpan {tspan} at (0,0) size 62x44
    24               RenderSVGInlineText {#text} at (47,-8) size 62x44
    25                 chunk 1 text run 3 at (71.44,12.51) startOffset 0 endOffset 7 width 55.00: " a Path"
     24              RenderSVGInlineText {#text} at (41,-17) size 62x44
     25                chunk 1 text run 3 at (73.94,12.51) startOffset 0 endOffset 7 width 55.00: " a Path"
    2626          RenderSVGInlineText {#text} at (0,0) size 0x0
    2727        RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
     
    3535          RenderSVGContainer {g} at (179.70,70.67) size 90.60x49.33
    3636            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"]
    37         RenderSVGText {text} at (-6,-10) size 75x75 contains 1 chunk(s)
     37        RenderSVGText {text} at (0,0) size 75x75 contains 1 chunk(s)
    3838          RenderSVGTextPath {textPath} at (0,0) size 75x75
    39             RenderSVGInlineText {#text} at (0,-8) size 46x23
    40               chunk 1 (middle anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
     39            RenderSVGInlineText {#text} at (-6,-18) size 46x23
     40              chunk 1 (middle anchor) text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
    4141            RenderSVGTSpan {tspan} at (0,0) size 20x24
    42               RenderSVGInlineText {#text} at (43,-18) size 20x24
    43                 chunk 1 (middle anchor) text run 2 at (37.00,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
     42              RenderSVGInlineText {#text} at (37,-28) size 20x24
     43                chunk 1 (middle anchor) text run 2 at (42.00,0.00) startOffset 0 endOffset 2 width 20.00: "on"
    4444            RenderSVGTSpan {tspan} at (0,0) size 57x51
    45               RenderSVGInlineText {#text} at (18,6) size 57x51
    46                 chunk 1 (middle anchor) text run 3 at (27.72,13.71) startOffset 0 endOffset 7 width 55.00: " a Path"
     45              RenderSVGInlineText {#text} at (12,-4) size 57x51
     46                chunk 1 (middle anchor) text run 3 at (30.45,13.71) startOffset 0 endOffset 7 width 55.00: " a Path"
    4747          RenderSVGInlineText {#text} at (0,0) size 0x0
    4848        RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
     
    5656          RenderSVGContainer {g} at (329.70,70.67) size 90.60x49.33
    5757            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"]
    58         RenderSVGText {text} at (-6,-10) size 81x77 contains 1 chunk(s)
     58        RenderSVGText {text} at (0,0) size 81x77 contains 1 chunk(s)
    5959          RenderSVGTextPath {textPath} at (0,0) size 81x77
    60             RenderSVGInlineText {#text} at (0,-8) size 46x23
    61               chunk 1 (end anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
     60            RenderSVGInlineText {#text} at (-6,-18) size 46x23
     61              chunk 1 (end anchor) text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
    6262            RenderSVGTSpan {tspan} at (0,0) size 46x77
    63               RenderSVGInlineText {#text} at (7,-18) size 46x77
    64                 chunk 1 (end anchor) text run 2 at (25.39,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
     63              RenderSVGInlineText {#text} at (1,-28) size 46x77
     64                chunk 1 (end anchor) text run 2 at (30.39,0.00) startOffset 0 endOffset 2 width 20.00: "on"
    6565            RenderSVGTSpan {tspan} at (0,0) size 61x46
    66               RenderSVGInlineText {#text} at (20,5) size 61x46
    67                 chunk 1 (end anchor) text run 3 at (29.74,12.71) startOffset 0 endOffset 7 width 55.00: " a Path"
     66              RenderSVGInlineText {#text} at (14,-5) size 61x46
     67                chunk 1 (end anchor) text run 3 at (32.24,12.71) startOffset 0 endOffset 7 width 55.00: " a Path"
    6868          RenderSVGInlineText {#text} at (0,0) size 0x0
    6969        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    7373          RenderSVGInlineText {#text} at (0,-10) size 72x13
    7474            chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
    75       RenderSVGContainer {g} at (29.70,165) size 140.30x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
     75      RenderSVGContainer {g} at (29.70,165) size 153.30x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
    7676        RenderSVGContainer {use} at (29.70,170.67) size 90.60x49.33
    7777          RenderSVGContainer {g} at (29.70,170.67) size 90.60x49.33
    7878            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"]
    79         RenderSVGText {text} at (74,12) size 96x59 contains 1 chunk(s)
    80           RenderSVGTextPath {textPath} at (0,0) size 96x59
    81             RenderSVGInlineText {#text} at (0,-17) size 52x37
    82               chunk 1 text run 1 at (74.99,12.80) startOffset 0 endOffset 5 width 42.00: "Text "
     79        RenderSVGText {text} at (80,12) size 109x60 contains 1 chunk(s)
     80          RenderSVGTextPath {textPath} at (0,0) size 109x60
     81            RenderSVGInlineText {#text} at (-6,-17) size 52x37
     82              chunk 1 text run 1 at (80.99,12.80) startOffset 0 endOffset 5 width 42.00: "Text "
    8383            RenderSVGTSpan {tspan} at (0,0) size 30x32
    84               RenderSVGInlineText {#text} at (43,1) size 30x32
    85                 chunk 1 text run 2 at (110.39,22.26) startOffset 0 endOffset 2 width 20.00: "on"
    86             RenderSVGTSpan {tspan} at (0,0) size 56x24
    87               RenderSVGInlineText {#text} at (40,18) size 56x24
    88                 chunk 1 text run 3 at (117.49,48.94) startOffset 0 endOffset 7 width 55.00: " a Path"
     84              RenderSVGInlineText {#text} at (37,1) size 30x32
     85                chunk 1 text run 2 at (115.39,32.26) startOffset 0 endOffset 2 width 20.00: "on"
     86            RenderSVGTSpan {tspan} at (0,0) size 69x12
     87              RenderSVGInlineText {#text} at (34,31) size 69x12
     88                chunk 1 text run 3 at (119.99,48.94) startOffset 0 endOffset 7 width 55.00: " a Path"
    8989          RenderSVGInlineText {#text} at (0,0) size 0x0
    9090        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    9898          RenderSVGContainer {g} at (179.70,170.67) size 90.60x49.33
    9999            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"]
    100         RenderSVGText {text} at (26,2) size 124x60 contains 1 chunk(s)
     100        RenderSVGText {text} at (32,12) size 124x60 contains 1 chunk(s)
    101101          RenderSVGTextPath {textPath} at (0,0) size 124x60
    102             RenderSVGInlineText {#text} at (-13,-4) size 47x47
    103               chunk 1 (middle anchor) text run 1 at (26.24,15.53) startOffset 0 endOffset 5 width 42.00: "Text "
     102            RenderSVGInlineText {#text} at (-19,-14) size 47x47
     103              chunk 1 (middle anchor) text run 1 at (32.24,15.53) startOffset 0 endOffset 5 width 42.00: "Text "
    104104            RenderSVGTSpan {tspan} at (0,0) size 25x25
    105               RenderSVGInlineText {#text} at (27,-17) size 25x25
    106                 chunk 1 (middle anchor) text run 2 at (58.57,2.52) startOffset 0 endOffset 2 width 20.00: "on"
     105              RenderSVGInlineText {#text} at (21,-27) size 25x25
     106                chunk 1 (middle anchor) text run 2 at (63.57,12.52) startOffset 0 endOffset 2 width 20.00: "on"
    107107            RenderSVGTSpan {tspan} at (0,0) size 59x50
    108               RenderSVGInlineText {#text} at (52,-7) size 59x50
    109                 chunk 1 (middle anchor) text run 3 at (78.49,12.80) startOffset 0 endOffset 7 width 55.00: " a Path"
     108              RenderSVGInlineText {#text} at (46,-17) size 59x50
     109                chunk 1 (middle anchor) text run 3 at (80.99,12.80) startOffset 0 endOffset 7 width 55.00: " a Path"
    110110          RenderSVGInlineText {#text} at (0,0) size 0x0
    111111        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    119119          RenderSVGContainer {g} at (329.70,170.67) size 90.60x49.33
    120120            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"]
    121         RenderSVGText {text} at (29,2) size 121x66 contains 1 chunk(s)
     121        RenderSVGText {text} at (35,12) size 121x66 contains 1 chunk(s)
    122122          RenderSVGTextPath {textPath} at (0,0) size 121x66
    123             RenderSVGInlineText {#text} at (-12,-6) size 50x43
    124               chunk 1 (end anchor) text run 1 at (29.43,13.68) startOffset 0 endOffset 5 width 42.00: "Text "
     123            RenderSVGInlineText {#text} at (-18,-16) size 50x43
     124              chunk 1 (end anchor) text run 1 at (35.43,13.68) startOffset 0 endOffset 5 width 42.00: "Text "
    125125            RenderSVGTSpan {tspan} at (0,0) size 25x23
    126               RenderSVGInlineText {#text} at (34,-17) size 25x23
    127                 chunk 1 (end anchor) text run 2 at (65.56,2.66) startOffset 0 endOffset 2 width 20.00: "on"
     126              RenderSVGInlineText {#text} at (28,-27) size 25x23
     127                chunk 1 (end anchor) text run 2 at (70.56,12.66) startOffset 0 endOffset 2 width 20.00: "on"
    128128            RenderSVGTSpan {tspan} at (0,0) size 54x55
    129               RenderSVGInlineText {#text} at (55,-6) size 54x55
    130                 chunk 1 (end anchor) text run 3 at (85.45,13.92) startOffset 0 endOffset 7 width 55.00: " a Path"
     129              RenderSVGInlineText {#text} at (49,-16) size 54x55
     130                chunk 1 (end anchor) text run 3 at (87.95,13.92) startOffset 0 endOffset 7 width 55.00: " a Path"
    131131          RenderSVGInlineText {#text} at (0,0) size 0x0
    132132        RenderSVGText {text} at (35,60) size 78x13 contains 1 chunk(s)
     
    136136          RenderSVGInlineText {#text} at (0,-10) size 72x13
    137137            chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
    138       RenderSVGContainer {g} at (29.70,257) size 120.30x86 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
     138      RenderSVGContainer {g} at (29.70,257) size 133.30x86 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
    139139        RenderSVGContainer {use} at (29.70,270.67) size 90.60x49.33
    140140          RenderSVGContainer {g} at (29.70,270.67) size 90.60x49.33
    141141            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"]
    142         RenderSVGText {text} at (45,4) size 112x60 contains 1 chunk(s)
    143           RenderSVGTextPath {textPath} at (0,0) size 112x60
    144             RenderSVGInlineText {#text} at (-7,-9) size 51x30
    145               chunk 1 text run 1 at (45.19,12.60) startOffset 0 endOffset 5 width 42.00: "Text "
     142        RenderSVGText {text} at (51,12) size 125x60 contains 1 chunk(s)
     143          RenderSVGTextPath {textPath} at (0,0) size 125x60
     144            RenderSVGInlineText {#text} at (-13,-17) size 51x30
     145              chunk 1 text run 1 at (51.19,12.60) startOffset 0 endOffset 5 width 42.00: "Text "
    146146            RenderSVGTSpan {tspan} at (0,0) size 31x29
    147               RenderSVGInlineText {#text} at (42,-17) size 31x29
    148                 chunk 1 text run 2 at (86.23,4.76) startOffset 0 endOffset 2 width 20.00: "on"
    149             RenderSVGTSpan {tspan} at (0,0) size 49x41
    150               RenderSVGInlineText {#text} at (56,2) size 49x41
    151                 chunk 1 text run 3 at (104.30,22.53) startOffset 0 endOffset 7 width 55.00: " a Path"
     147              RenderSVGInlineText {#text} at (36,-25) size 31x29
     148                chunk 1 text run 2 at (91.23,14.76) startOffset 0 endOffset 2 width 20.00: "on"
     149            RenderSVGTSpan {tspan} at (0,0) size 62x41
     150              RenderSVGInlineText {#text} at (50,-6) size 62x41
     151                chunk 1 text run 3 at (106.80,22.53) startOffset 0 endOffset 7 width 55.00: " a Path"
    152152          RenderSVGInlineText {#text} at (0,0) size 0x0
    153153        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    161161          RenderSVGContainer {g} at (179.70,270.67) size 90.60x49.33
    162162            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"]
    163         RenderSVGText {text} at (-6,0) size 115x71 contains 1 chunk(s)
     163        RenderSVGText {text} at (0,0) size 115x71 contains 1 chunk(s)
    164164          RenderSVGTextPath {textPath} at (0,0) size 115x71
    165             RenderSVGInlineText {#text} at (0,-18) size 45x71
    166               chunk 1 (middle anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
     165            RenderSVGInlineText {#text} at (-6,-18) size 45x71
     166              chunk 1 (middle anchor) text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
    167167            RenderSVGTSpan {tspan} at (0,0) size 34x33
    168               RenderSVGInlineText {#text} at (18,-4) size 34x33
    169                 chunk 1 (middle anchor) text run 2 at (32.42,11.40) startOffset 0 endOffset 2 width 20.00: "on"
     168              RenderSVGInlineText {#text} at (12,-4) size 34x33
     169                chunk 1 (middle anchor) text run 2 at (37.42,21.40) startOffset 0 endOffset 2 width 20.00: "on"
    170170            RenderSVGTSpan {tspan} at (0,0) size 68x29
    171               RenderSVGInlineText {#text} at (47,-5) size 68x29
    172                 chunk 1 (middle anchor) text run 3 at (48.69,12.55) startOffset 0 endOffset 7 width 55.00: " a Path"
     171              RenderSVGInlineText {#text} at (41,-5) size 68x29
     172                chunk 1 (middle anchor) text run 3 at (51.19,12.55) startOffset 0 endOffset 7 width 55.00: " a Path"
    173173          RenderSVGInlineText {#text} at (0,0) size 0x0
    174174        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    182182          RenderSVGContainer {g} at (329.70,270.67) size 90.60x49.33
    183183            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"]
    184         RenderSVGText {text} at (-6,-10) size 85x80 contains 1 chunk(s)
     184        RenderSVGText {text} at (0,0) size 85x80 contains 1 chunk(s)
    185185          RenderSVGTextPath {textPath} at (0,0) size 85x80
    186             RenderSVGInlineText {#text} at (0,-8) size 46x23
    187               chunk 1 (end anchor) text run 1 at (-6.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
     186            RenderSVGInlineText {#text} at (-6,-18) size 46x23
     187              chunk 1 (end anchor) text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 42.00: "Text "
    188188            RenderSVGTSpan {tspan} at (0,0) size 20x24
    189               RenderSVGInlineText {#text} at (43,-18) size 20x24
    190                 chunk 1 (end anchor) text run 2 at (37.00,-10.00) startOffset 0 endOffset 2 width 20.00: "on"
     189              RenderSVGInlineText {#text} at (37,-28) size 20x24
     190                chunk 1 (end anchor) text run 2 at (42.00,0.00) startOffset 0 endOffset 2 width 20.00: "on"
    191191            RenderSVGTSpan {tspan} at (0,0) size 68x70
    192               RenderSVGInlineText {#text} at (17,-8) size 68x70
    193                 chunk 1 (end anchor) text run 3 at (24.75,0.00) startOffset 0 endOffset 7 width 55.00: " a Path"
     192              RenderSVGInlineText {#text} at (11,-18) size 68x70
     193                chunk 1 (end anchor) text run 3 at (30.25,0.00) startOffset 0 endOffset 7 width 55.00: " a Path"
    194194          RenderSVGInlineText {#text} at (0,0) size 0x0
    195195        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    199199          RenderSVGInlineText {#text} at (0,-10) size 72x13
    200200            chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
    201       RenderSVGContainer {g} at (15,366) size 130x77 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
     201      RenderSVGContainer {g} at (10,360) size 135x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
    202202        RenderSVGContainer {use} at (24.89,377.29) size 120.11x30.43
    203203          RenderSVGContainer {g} at (24.89,377.29) size 120.11x30.43
    204204            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"]
    205         RenderSVGText {text} at (14,8) size 117x45 contains 1 chunk(s)
    206           RenderSVGTextPath {textPath} at (0,0) size 117x45
    207             RenderSVGTSpan {tspan} at (0,0) size 38x31
    208               RenderSVGInlineText {#text} at (-9,-10) size 38x31
    209                 chunk 1 text run 1 at (14.12,10.38) startOffset 0 endOffset 5 width 34.00: "super"
    210             RenderSVGInlineText {#text} at (25,-12) size 38x30
    211               chunk 1 text run 2 at (41.70,8.97) startOffset 0 endOffset 5 width 31.00: " and "
    212             RenderSVGTSpan {tspan} at (0,0) size 27x23
    213               RenderSVGInlineText {#text} at (51,8) size 27x23
    214                 chunk 1 text run 3 at (66.99,29.16) startOffset 0 endOffset 3 width 22.00: "sub"
    215             RenderSVGInlineText {#text} at (70,-1) size 38x34
    216               chunk 1 text run 4 at (85.60,20.46) startOffset 0 endOffset 7 width 40.00: "scripts"
     205        RenderSVGText {text} at (17,8) size 122x56 contains 1 chunk(s)
     206          RenderSVGTextPath {textPath} at (0,0) size 122x56
     207            RenderSVGTSpan {tspan} at (0,0) size 40x37
     208              RenderSVGInlineText {#text} at (-17,-18) size 40x37
     209                chunk 1 text run 1 at (17.12,10.38) startOffset 0 endOffset 5 width 34.00: "super"
     210            RenderSVGInlineText {#text} at (22,-12) size 38x30
     211              chunk 1 text run 2 at (43.70,8.97) startOffset 0 endOffset 5 width 31.00: " and "
     212            RenderSVGTSpan {tspan} at (0,0) size 29x27
     213              RenderSVGInlineText {#text} at (42,11) size 29x27
     214                chunk 1 text run 3 at (69.99,24.66) startOffset 0 endOffset 3 width 22.00: "sub"
     215            RenderSVGInlineText {#text} at (67,-1) size 38x34
     216              chunk 1 text run 4 at (88.60,20.46) startOffset 0 endOffset 7 width 40.00: "scripts"
    217217          RenderSVGInlineText {#text} at (0,0) size 0x0
    218218        RenderSVGText {text} at (20,60) size 88x13 contains 1 chunk(s)
     
    222222          RenderSVGInlineText {#text} at (0,-10) size 98x13
    223223            chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 24 width 98.00: "and baseline-shift=\"sub\""
    224       RenderSVGContainer {g} at (160,366) size 130x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(155.00,370.00)}]
     224      RenderSVGContainer {g} at (158,363) size 132x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(155.00,370.00)}]
    225225        RenderSVGContainer {use} at (169.89,377.29) size 120.11x30.43
    226226          RenderSVGContainer {g} at (169.89,377.29) size 120.11x30.43
    227227            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"]
    228         RenderSVGText {text} at (13,8) size 122x46 contains 1 chunk(s)
    229           RenderSVGTextPath {textPath} at (0,0) size 122x46
    230             RenderSVGTSpan {tspan} at (0,0) size 56x34
    231               RenderSVGInlineText {#text} at (-8,-12) size 56x34
    232                 chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 8 width 49.00: "positive"
    233             RenderSVGInlineText {#text} at (40,-7) size 34x34
    234               chunk 1 text run 2 at (55.69,12.92) startOffset 0 endOffset 5 width 31.00: " and "
    235             RenderSVGTSpan {tspan} at (0,0) size 50x38
    236               RenderSVGInlineText {#text} at (64,-4) size 50x38
    237                 chunk 1 text run 3 at (78.94,18.06) startOffset 0 endOffset 8 width 53.00: "negative"
     228        RenderSVGText {text} at (17,8) size 125x50 contains 1 chunk(s)
     229          RenderSVGTextPath {textPath} at (0,0) size 125x50
     230            RenderSVGTSpan {tspan} at (0,0) size 60x38
     231              RenderSVGInlineText {#text} at (-14,-15) size 60x38
     232                chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 8 width 49.00: "positive"
     233            RenderSVGInlineText {#text} at (36,-7) size 34x34
     234              chunk 1 text run 2 at (57.69,12.92) startOffset 0 endOffset 5 width 31.00: " and "
     235            RenderSVGTSpan {tspan} at (0,0) size 52x36
     236              RenderSVGInlineText {#text} at (59,-1) size 52x36
     237                chunk 1 text run 3 at (82.94,18.06) startOffset 0 endOffset 8 width 53.00: "negative"
    238238          RenderSVGInlineText {#text} at (0,0) size 0x0
    239239        RenderSVGText {text} at (20,60) size 97x13 contains 1 chunk(s)
     
    245245            RenderSVGContainer {g} at (314.85,390.33) size 45.30x24.67
    246246              RenderPath {path} at (314.85,390.33) size 45.30x24.67 [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"]
    247           RenderSVGText {text} at (28,-20) size 231x89 contains 1 chunk(s)
    248             RenderSVGInlineText {#text} at (2,-28) size 143x37
     247          RenderSVGText {text} at (30,-20) size 231x89 contains 1 chunk(s)
     248            RenderSVGInlineText {#text} at (0,-28) size 143x37
    249249              chunk 1 text run 1 at (30.00,-20.00) startOffset 0 endOffset 12 width 143.00: "before path "
    250250            RenderSVGTextPath {textPath} at (0,0) size 116x56
    251               RenderSVGInlineText {#text} at (-20,5) size 116x56
    252                 chunk 1 text run 2 at (28.21,12.90) startOffset 0 endOffset 7 width 89.00: "on path"
    253             RenderSVGInlineText {#text} at (89,12) size 122x36
     251              RenderSVGInlineText {#text} at (-22,5) size 116x56
     252                chunk 1 text run 2 at (35.71,12.90) startOffset 0 endOffset 7 width 89.00: "on path"
     253            RenderSVGInlineText {#text} at (87,12) size 122x36
    254254              chunk 1 text run 3 at (117.77,19.76) startOffset 0 endOffset 11 width 121.00: " after path"
    255255        RenderSVGText {text} at (15,40) size 98x13 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath2-expected.checksum

    r26089 r26103  
    1 9a3908bc8191db59022a5df422469099
     174ba68b0d92e74767c9927bb75c8b171
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath2-expected.txt

    r26089 r26103  
    2727        RenderSVGContainer {g} at (139.50,59.33) size 141x125.67
    2828          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"]
    29       RenderSVGText {text} at (10,-104) size 403x121 contains 1 chunk(s)
    30         RenderSVGInlineText {#text} at (0,90) size 87x18
     29      RenderSVGText {text} at (10,-94) size 403x121 contains 1 chunk(s)
     30        RenderSVGInlineText {#text} at (0,80) size 87x18
    3131          chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
    3232        RenderSVGTextPath {textPath} at (0,0) size 149x117
    33           RenderSVGInlineText {#text} at (75,17) size 46x87
    34             chunk 1 text run 2 at (96.67,-74.64) startOffset 0 endOffset 14 width 85.00: "text on a path"
     33          RenderSVGInlineText {#text} at (75,7) size 46x87
     34            chunk 1 text run 2 at (100.01,-74.64) startOffset 0 endOffset 14 width 85.00: "text on a path"
    3535          RenderSVGTSpan {tspan} at (0,0) size 91x36
    36             RenderSVGInlineText {#text} at (104,-13) size 91x36
    37               chunk 1 text run 3 at (127.33,-103.72) startOffset 0 endOffset 11 width 72.00: "with nested"
     36            RenderSVGInlineText {#text} at (104,-23) size 91x36
     37              chunk 1 text run 3 at (133.33,-93.72) startOffset 0 endOffset 11 width 72.00: "with nested"
    3838          RenderSVGTSpan {tspan} at (0,0) size 41x40
    39             RenderSVGInlineText {#text} at (183,4) size 41x40
    40               chunk 1 text run 4 at (195.48,-87.01) startOffset 0 endOffset 6 width 37.00: " tspan"
    41         RenderSVGInlineText {#text} at (218,24) size 33x18
     39            RenderSVGInlineText {#text} at (183,-6) size 41x40
     40              chunk 1 text run 4 at (197.48,-87.01) startOffset 0 endOffset 6 width 37.00: " tspan"
     41        RenderSVGInlineText {#text} at (218,14) size 33x18
    4242          chunk 1 text run 5 at (228.78,-66.97) startOffset 0 endOffset 5 width 32.00: " xxx "
    4343        RenderSVGTSpan {tspan} at (0,0) size 52x18
    44           RenderSVGInlineText {#text} at (260,24) size 52x18
     44          RenderSVGInlineText {#text} at (260,14) size 52x18
    4545            chunk 1 text run 6 at (270.78,-66.97) startOffset 0 endOffset 9 width 51.00: "all with "
    46         RenderSVGInlineText {#text} at (311,24) size 92x18
     46        RenderSVGInlineText {#text} at (311,14) size 92x18
    4747          chunk 1 text run 7 at (321.78,-66.97) startOffset 0 endOffset 16 width 91.00: "different links."
    4848    RenderSVGContainer {g} at (50,204.33) size 415x129.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,330.00)}]
     
    5050        RenderSVGContainer {g} at (139.50,204.33) size 141x125.67
    5151          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"]
    52       RenderSVGText {text} at (10,-104) size 415x121 contains 1 chunk(s)
    53         RenderSVGInlineText {#text} at (0,90) size 87x18
     52      RenderSVGText {text} at (10,-94) size 415x121 contains 1 chunk(s)
     53        RenderSVGInlineText {#text} at (0,80) size 87x18
    5454          chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
    5555        RenderSVGTextPath {textPath} at (0,0) size 159x93
    56           RenderSVGInlineText {#text} at (78,1) size 64x79
    57             chunk 1 text run 2 at (100.31,-89.20) startOffset 0 endOffset 14 width 85.00: "text on a path"
     56          RenderSVGInlineText {#text} at (78,-9) size 64x79
     57            chunk 1 text run 2 at (102.61,-89.20) startOffset 0 endOffset 14 width 85.00: "text on a path"
    5858          RenderSVGTSpan {tspan} at (0,0) size 88x41
    59             RenderSVGInlineText {#text} at (135,-13) size 88x41
    60               chunk 1 text run 3 at (150.76,-103.73) startOffset 0 endOffset 11 width 72.00: "with nested"
     59            RenderSVGInlineText {#text} at (135,-23) size 88x41
     60              chunk 1 text run 3 at (156.76,-93.73) startOffset 0 endOffset 11 width 72.00: "with nested"
    6161          RenderSVGTSpan {tspan} at (0,0) size 34x43
    62             RenderSVGInlineText {#text} at (203,23) size 34x43
    63               chunk 1 text run 4 at (215.71,-70.80) startOffset 0 endOffset 6 width 37.00: " tspan"
    64         RenderSVGInlineText {#text} at (230,46) size 33x19
     62            RenderSVGInlineText {#text} at (203,13) size 34x43
     63              chunk 1 text run 4 at (217.71,-70.80) startOffset 0 endOffset 6 width 37.00: " tspan"
     64        RenderSVGInlineText {#text} at (230,36) size 33x19
    6565          chunk 1 text run 5 at (240.96,-44.00) startOffset 0 endOffset 5 width 32.00: " xxx "
    6666        RenderSVGTSpan {tspan} at (0,0) size 52x19
    67           RenderSVGInlineText {#text} at (272,46) size 52x19
     67          RenderSVGInlineText {#text} at (272,36) size 52x19
    6868            chunk 1 text run 6 at (282.96,-44.00) startOffset 0 endOffset 9 width 51.00: "all with "
    69         RenderSVGInlineText {#text} at (323,46) size 92x19
     69        RenderSVGInlineText {#text} at (323,36) size 92x19
    7070          chunk 1 text run 7 at (333.96,-44.00) startOffset 0 endOffset 16 width 91.00: "different links."
    7171    RenderSVGContainer {g} at (50,349.33) size 417x129.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,475.00)}]
     
    7373        RenderSVGContainer {g} at (139.50,349.33) size 141x125.67
    7474          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"]
    75       RenderSVGText {text} at (10,-104) size 417x121 contains 1 chunk(s)
    76         RenderSVGInlineText {#text} at (0,90) size 87x18
     75      RenderSVGText {text} at (10,-94) size 417x121 contains 1 chunk(s)
     76        RenderSVGInlineText {#text} at (0,80) size 87x18
    7777          chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 14 width 87.00: "This is simple"
    7878        RenderSVGTextPath {textPath} at (0,0) size 160x86
    79           RenderSVGInlineText {#text} at (80,-2) size 69x75
    80             chunk 1 text run 2 at (102.26,-91.59) startOffset 0 endOffset 14 width 85.00: "text on a path"
     79          RenderSVGInlineText {#text} at (80,-12) size 69x75
     80            chunk 1 text run 2 at (104.26,-91.59) startOffset 0 endOffset 14 width 85.00: "text on a path"
    8181          RenderSVGTSpan {tspan} at (0,0) size 85x48
    82             RenderSVGInlineText {#text} at (145,-13) size 85x48
    83               chunk 1 text run 3 at (158.01,-103.72) startOffset 0 endOffset 11 width 72.00: "with nested"
     82            RenderSVGInlineText {#text} at (145,-23) size 85x48
     83              chunk 1 text run 3 at (164.01,-93.72) startOffset 0 endOffset 11 width 72.00: "with nested"
    8484          RenderSVGTSpan {tspan} at (0,0) size 33x43
    85             RenderSVGInlineText {#text} at (207,30) size 33x43
    86               chunk 1 text run 4 at (220.21,-64.99) startOffset 0 endOffset 6 width 37.00: " tspan"
    87         RenderSVGInlineText {#text} at (233,53) size 32x19
     85            RenderSVGInlineText {#text} at (207,20) size 33x43
     86              chunk 1 text run 4 at (222.21,-64.99) startOffset 0 endOffset 6 width 37.00: " tspan"
     87        RenderSVGInlineText {#text} at (233,43) size 32x19
    8888          chunk 1 text run 5 at (243.21,-37.01) startOffset 0 endOffset 5 width 32.00: " xxx "
    8989        RenderSVGTSpan {tspan} at (0,0) size 51x19
    90           RenderSVGInlineText {#text} at (275,53) size 51x19
     90          RenderSVGInlineText {#text} at (275,43) size 51x19
    9191            chunk 1 text run 6 at (285.21,-37.01) startOffset 0 endOffset 9 width 51.00: "all with "
    92         RenderSVGInlineText {#text} at (326,53) size 91x19
     92        RenderSVGInlineText {#text} at (326,43) size 91x19
    9393          chunk 1 text run 7 at (336.21,-37.01) startOffset 0 endOffset 16 width 91.00: "different links."
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath3-expected.checksum

    r25825 r26103  
    1 4efe2a0f72cd03af837aa9cba7bc56c8
     1d1814de6de8fed41d5df457e82d60c1c
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath3-expected.txt

    r26089 r26103  
    1717        RenderSVGContainer {g} at (139.50,59.33) size 141x125.67
    1818          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"]
    19       RenderSVGText {text} at (105,-94) size 156x80 contains 1 chunk(s)
     19      RenderSVGText {text} at (110,-94) size 156x80 contains 1 chunk(s)
    2020        RenderSVGTextPath {textPath} at (0,0) size 156x80
    21           RenderSVGInlineText {#text} at (-10,-13) size 156x80
    22             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'."
     21          RenderSVGInlineText {#text} at (-15,-13) size 156x80
     22            chunk 1 (middle anchor) text run 1 at (110.76,-93.75) startOffset 0 endOffset 31 width 182.00: "Text on a path for text w/ 'x'."
    2323    RenderSVGContainer {g} at (29.50,194.50) size 391x141 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,330.00)}]
    2424      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"]
     
    3030        RenderSVGContainer {g} at (139.50,204.33) size 141x125.67
    3131          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"]
    32       RenderSVGText {text} at (178,-93) size 125x108 contains 1 chunk(s)
    33         RenderSVGTextPath {textPath} at (0,0) size 125x108
    34           RenderSVGInlineText {#text} at (0,-13) size 125x108
    35             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'."
     32      RenderSVGText {text} at (183,-93) size 137x110 contains 1 chunk(s)
     33        RenderSVGTextPath {textPath} at (0,0) size 137x110
     34          RenderSVGInlineText {#text} at (-5,-13) size 137x110
     35            chunk 1 (middle anchor) text run 1 at (183.87,-92.10) startOffset 0 endOffset 31 width 182.00: "Text on a path for text w/ 'x'."
    3636    RenderSVGContainer {g} at (-65,339.50) size 485.50x141 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,475.00)}]
    3737      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"]
     
    4343        RenderSVGContainer {g} at (139.50,349.33) size 141x125.67
    4444          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"]
    45       RenderSVGText {text} at (-105,-94) size 347x111 contains 2 chunk(s)
     45      RenderSVGText {text} at (-100,-94) size 347x111 contains 2 chunk(s)
    4646        RenderSVGTextPath {textPath} at (0,0) size 347x111
    47           RenderSVGInlineText {#text} at (0,80) size 209x18
    48             chunk 1 (middle anchor) text run 1 at (-105.00,-1.44) startOffset 0 endOffset 10 width 64.00: "Text on a "
     47          RenderSVGInlineText {#text} at (-5,80) size 209x18
     48            chunk 1 (middle anchor) text run 1 at (-100.00,-1.44) startOffset 0 endOffset 10 width 64.00: "Text on a "
    4949          RenderSVGTSpan {tspan} at (0,0) size 119x58
    50             RenderSVGInlineText {#text} at (228,-13) size 119x58
    51               chunk 2 (middle anchor) text run 1 at (131.30,-93.74) startOffset 0 endOffset 21 width 118.00: "path for text w/ 'x'."
     50            RenderSVGInlineText {#text} at (223,-13) size 119x58
     51              chunk 2 (middle anchor) text run 1 at (135.30,-93.74) startOffset 0 endOffset 21 width 118.00: "path for text w/ 'x'."
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPathSpaces-expected.checksum

    r26089 r26103  
    1 3b2e0bfaa59dd1510a1784ce6fba58b8
     191a008e0253f60e8d05d36a9a47e51b9
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPathSpaces-expected.txt

    r25877 r26103  
    1414          RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
    1515            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"]
    16         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     16        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    1717          RenderSVGTextPath {textPath} at (0,0) size 73x43
    1818            RenderSVGTSpan {tspan} at (0,0) size 73x43
    19               RenderSVGInlineText {#text} at (-11,-17) size 73x43
    20                 chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     19              RenderSVGInlineText {#text} at (-15,-17) size 73x43
     20                chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    2121          RenderSVGInlineText {#text} at (0,0) size 0x0
    2222        RenderSVGText {text} at (35,60) size 60x13 contains 1 chunk(s)
     
    2727          RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
    2828            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"]
    29         RenderSVGText {text} at (21,9) size 106x50 contains 6 chunk(s)
     29        RenderSVGText {text} at (25,9) size 106x50 contains 6 chunk(s)
    3030          RenderSVGTextPath {textPath} at (0,0) size 106x50
    3131            RenderSVGTSpan {tspan} at (0,0) size 106x50
    32               RenderSVGInlineText {#text} at (-11,-18) size 106x50
    33                 chunk 1 text run 1 at (21.07,20.27) startOffset 0 endOffset 1 width 8.00: "s"
    34                 chunk 2 text run 1 at (37.74,9.42) startOffset 1 endOffset 2 width 9.00: "a"
    35                 chunk 3 text run 1 at (54.76,17.75) startOffset 2 endOffset 3 width 16.00: "m"
    36                 chunk 4 text run 1 at (74.44,32.02) startOffset 3 endOffset 4 width 10.00: "p"
    37                 chunk 5 text run 1 at (93.50,35.49) startOffset 4 endOffset 5 width 6.00: "l"
    38                 chunk 6 text run 1 at (105.16,25.79) startOffset 5 endOffset 6 width 9.00: "e"
     32              RenderSVGInlineText {#text} at (-15,-18) size 106x50
     33                chunk 1 text run 1 at (25.07,20.27) startOffset 0 endOffset 1 width 8.00: "s"
     34                chunk 2 text run 1 at (42.24,9.42) startOffset 1 endOffset 2 width 9.00: "a"
     35                chunk 3 text run 1 at (62.76,17.75) startOffset 2 endOffset 3 width 16.00: "m"
     36                chunk 4 text run 1 at (79.44,32.02) startOffset 3 endOffset 4 width 10.00: "p"
     37                chunk 5 text run 1 at (96.50,35.49) startOffset 4 endOffset 5 width 6.00: "l"
     38                chunk 6 text run 1 at (109.66,25.79) startOffset 5 endOffset 6 width 9.00: "e"
    3939          RenderSVGInlineText {#text} at (0,0) size 0x0
    4040        RenderSVGText {text} at (15,60) size 123x13 contains 1 chunk(s)
     
    4848          RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
    4949            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"]
    50         RenderSVGText {text} at (13,8) size 109x72 contains 1 chunk(s)
     50        RenderSVGText {text} at (17,8) size 109x72 contains 1 chunk(s)
    5151          RenderSVGTextPath {textPath} at (0,0) size 109x72
    5252            RenderSVGTSpan {tspan} at (0,0) size 109x72
    53               RenderSVGInlineText {#text} at (-11,-24) size 109x72
    54                 chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     53              RenderSVGInlineText {#text} at (-15,-24) size 109x72
     54                chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    5555          RenderSVGInlineText {#text} at (0,0) size 0x0
    5656        RenderSVGText {text} at (15,60) size 118x13 contains 1 chunk(s)
     
    6161          RenderSVGContainer {g} at (14.89,167.29) size 120.11x30.43
    6262            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"]
    63         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     63        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    6464          RenderSVGTextPath {textPath} at (0,0) size 73x43
    65             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    66               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     65            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     66              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    6767          RenderSVGInlineText {#text} at (0,0) size 0x0
    6868        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
     
    7373          RenderSVGContainer {g} at (164.89,167.29) size 120.11x30.43
    7474            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"]
    75         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     75        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    7676          RenderSVGTextPath {textPath} at (0,0) size 73x43
    77             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    78               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     77            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     78              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    7979          RenderSVGInlineText {#text} at (0,0) size 0x0
    8080        RenderSVGText {text} at (35,60) size 67x13 contains 1 chunk(s)
     
    8585          RenderSVGContainer {g} at (314.89,167.29) size 120.11x30.43
    8686            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"]
    87         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     87        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    8888          RenderSVGTextPath {textPath} at (0,0) size 73x43
    89             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    90               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     89            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     90              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    9191          RenderSVGInlineText {#text} at (0,0) size 0x0
    9292        RenderSVGText {text} at (35,60) size 54x13 contains 1 chunk(s)
     
    9797          RenderSVGContainer {g} at (14.89,257.29) size 120.11x30.43
    9898            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"]
    99         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     99        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    100100          RenderSVGTextPath {textPath} at (0,0) size 73x43
    101             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    102               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     101            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     102              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    103103          RenderSVGInlineText {#text} at (0,0) size 0x0
    104104        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
     
    115115          RenderSVGContainer {g} at (164.89,257.29) size 120.11x30.43
    116116            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"]
    117         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     117        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    118118          RenderSVGTextPath {textPath} at (0,0) size 73x43
    119             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    120               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     119            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     120              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    121121          RenderSVGInlineText {#text} at (0,0) size 0x0
    122122        RenderSVGText {text} at (35,60) size 67x13 contains 1 chunk(s)
     
    133133          RenderSVGContainer {g} at (314.89,257.29) size 120.11x30.43
    134134            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"]
    135         RenderSVGText {text} at (13,8) size 73x43 contains 1 chunk(s)
     135        RenderSVGText {text} at (17,8) size 73x43 contains 1 chunk(s)
    136136          RenderSVGTextPath {textPath} at (0,0) size 73x43
    137             RenderSVGInlineText {#text} at (-11,-17) size 73x43
    138               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
     137            RenderSVGInlineText {#text} at (-15,-17) size 73x43
     138              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 6 width 58.00: "sample"
    139139          RenderSVGInlineText {#text} at (0,0) size 0x0
    140140        RenderSVGText {text} at (5,60) size 132x13 contains 1 chunk(s)
     
    151151          RenderSVGContainer {g} at (14.89,357.29) size 120.11x30.43
    152152            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"]
    153         RenderSVGText {text} at (14,8) size 46x43 contains 1 chunk(s)
     153        RenderSVGText {text} at (16,8) size 46x43 contains 1 chunk(s)
    154154          RenderSVGTextPath {textPath} at (0,0) size 46x43
    155             RenderSVGInlineText {#text} at (-12,-17) size 46x43
    156               chunk 1 text run 1 at (14.27,8.93) startOffset 0 endOffset 6 width 40.00: "sample"
     155            RenderSVGInlineText {#text} at (-14,-17) size 46x43
     156              chunk 1 text run 1 at (16.77,8.93) startOffset 0 endOffset 6 width 40.00: "sample"
    157157          RenderSVGInlineText {#text} at (0,0) size 0x0
    158158        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
     
    163163          RenderSVGContainer {g} at (164.89,357.29) size 120.11x30.43
    164164            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"]
    165         RenderSVGText {text} at (13,8) size 116x52 contains 1 chunk(s)
     165        RenderSVGText {text} at (17,8) size 116x52 contains 1 chunk(s)
    166166          RenderSVGTextPath {textPath} at (0,0) size 116x52
    167             RenderSVGInlineText {#text} at (-11,-17) size 116x52
    168               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 13 width 161.00: "sample sample"
     167            RenderSVGInlineText {#text} at (-15,-17) size 116x52
     168              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 13 width 161.00: "sample sample"
    169169          RenderSVGInlineText {#text} at (0,0) size 0x0
    170170        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
     
    178178          RenderSVGContainer {g} at (314.89,357.29) size 120.11x30.43
    179179            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"]
    180         RenderSVGText {text} at (13,8) size 116x52 contains 1 chunk(s)
     180        RenderSVGText {text} at (17,8) size 116x52 contains 1 chunk(s)
    181181          RenderSVGTextPath {textPath} at (0,0) size 116x52
    182             RenderSVGInlineText {#text} at (-11,-17) size 116x52
    183               chunk 1 text run 1 at (13.83,8.83) startOffset 0 endOffset 13 width 116.00: "sample sample"
     182            RenderSVGInlineText {#text} at (-15,-17) size 116x52
     183              chunk 1 text run 1 at (17.83,8.83) startOffset 0 endOffset 13 width 116.00: "sample sample"
    184184          RenderSVGInlineText {#text} at (0,0) size 0x0
    185185        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/batik/text/verticalText-expected.txt

    r26089 r26103  
    6565          RenderSVGContainer {g} at (54.89,457.29) size 315.21x30.43
    6666            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"]
    67         RenderSVGText {text} at (15,15) size 297x43 contains 1 chunk(s)
     67        RenderSVGText {text} at (15,22) size 297x43 contains 1 chunk(s)
    6868          RenderSVGTextPath {textPath} at (0,0) size 297x43
    69             RenderSVGInlineText {#text} at (-13,-11) size 297x43
    70               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}"
     69            RenderSVGInlineText {#text} at (-13,-18) size 297x43
     70              chunk 1 (vertical) text run 1 at (15.47,22.79) startOffset 0 endOffset 25 height 350.00: "Vertical text on a Path\x{753B}\x{50CF}"
    7171          RenderSVGInlineText {#text} at (0,0) size 0x0
    7272    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/verticalTextOnPath-expected.checksum

    r25825 r26103  
    1 73e592deb9ba2fc31d1c356973d659ef
     1246a31a6cacaa6e149f46eb5140b9420
  • branches/feature-branch/LayoutTests/svg/batik/text/verticalTextOnPath-expected.txt

    r26089 r26103  
    1010        RenderPath {path} at (14.95,7.04) size 120.05x30.91 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [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"]
    1111        RenderPath {path} at (29.85,12.25) size 90.30x37.75 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00C100.00,0.00,400.00,0.00,400.00,100.00"]
    12       RenderSVGContainer {g} at (1,75) size 134x128 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
     12      RenderSVGContainer {g} at (1,75) size 134x129 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
    1313        RenderSVGContainer {use} at (14.89,77.29) size 120.11x30.43
    1414          RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
    1515            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"]
    16         RenderSVGText {text} at (16,17) size 124x128 contains 1 chunk(s)
    17           RenderSVGTextPath {textPath} at (0,0) size 124x128
    18             RenderSVGInlineText {#text} at (-15,-12) size 89x41
    19               chunk 1 (vertical) text run 1 at (16.55,17.65) startOffset 0 endOffset 5 height 85.00: "Text "
     16        RenderSVGText {text} at (16,26) size 121x129 contains 1 chunk(s)
     17          RenderSVGTextPath {textPath} at (0,0) size 121x129
     18            RenderSVGInlineText {#text} at (-15,-21) size 89x41
     19              chunk 1 (vertical) text run 1 at (16.55,26.15) startOffset 0 endOffset 5 height 85.00: "Text "
    2020            RenderSVGTSpan {tspan} at (0,0) size 18x32
    21               RenderSVGInlineText {#text} at (79,0) size 18x32
    22                 chunk 1 (vertical) text run 2 at (98.08,36.91) startOffset 0 endOffset 2 height 34.00: "on"
    23             RenderSVGTSpan {tspan} at (0,0) size 16x119
    24               RenderSVGInlineText {#text} at (93,-3) size 16x119
    25                 chunk 1 (vertical) text run 3 at (116.63,27.37) startOffset 0 endOffset 7 height 119.00: " a Path"
     21              RenderSVGInlineText {#text} at (79,-9) size 18x32
     22                chunk 1 (vertical) text run 2 at (88.08,45.41) startOffset 0 endOffset 2 height 34.00: "on"
     23            RenderSVGTSpan {tspan} at (0,0) size 15x120
     24              RenderSVGInlineText {#text} at (91,-12) size 15x120
     25                chunk 1 (vertical) text run 3 at (116.63,35.87) startOffset 0 endOffset 7 height 119.00: " a Path"
    2626          RenderSVGInlineText {#text} at (0,0) size 0x0
    2727        RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
     
    3838          RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
    3939            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"]
    40         RenderSVGText {text} at (-5,8) size 109x119 contains 1 chunk(s)
     40        RenderSVGText {text} at (-5,17) size 109x119 contains 1 chunk(s)
    4141          RenderSVGTextPath {textPath} at (0,0) size 109x119
    42             RenderSVGInlineText {#text} at (1,-12) size 9x85
    43               chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     42            RenderSVGInlineText {#text} at (1,-21) size 9x85
     43              chunk 1 (middle anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    4444            RenderSVGTSpan {tspan} at (0,0) size 8x35
    45               RenderSVGInlineText {#text} at (11,72) size 8x35
    46                 chunk 1 (middle anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
     45              RenderSVGInlineText {#text} at (11,63) size 8x35
     46                chunk 1 (middle anchor, vertical) text run 2 at (-4.00,102.00) startOffset 0 endOffset 2 height 34.00: "on"
    4747            RenderSVGTSpan {tspan} at (0,0) size 101x44
    48               RenderSVGInlineText {#text} at (9,-3) size 101x44
    49                 chunk 1 (middle anchor, vertical) text run 3 at (19.05,17.65) startOffset 0 endOffset 7 height 119.00: " a Path"
     48              RenderSVGInlineText {#text} at (9,-12) size 101x44
     49                chunk 1 (middle anchor, vertical) text run 3 at (19.05,26.15) startOffset 0 endOffset 7 height 119.00: " a Path"
    5050          RenderSVGInlineText {#text} at (0,0) size 0x0
    5151        RenderSVGText {text} at (35,60) size 68x13 contains 1 chunk(s)
     
    6262          RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
    6363            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"]
    64         RenderSVGText {text} at (-5,8) size 87x170 contains 1 chunk(s)
     64        RenderSVGText {text} at (-5,17) size 87x170 contains 1 chunk(s)
    6565          RenderSVGTextPath {textPath} at (0,0) size 87x170
    66             RenderSVGInlineText {#text} at (1,-12) size 9x85
    67               chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     66            RenderSVGInlineText {#text} at (1,-21) size 9x85
     67              chunk 1 (end anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    6868            RenderSVGTSpan {tspan} at (0,0) size 8x35
    69               RenderSVGInlineText {#text} at (11,72) size 8x35
    70                 chunk 1 (end anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
     69              RenderSVGInlineText {#text} at (11,63) size 8x35
     70                chunk 1 (end anchor, vertical) text run 2 at (-4.00,102.00) startOffset 0 endOffset 2 height 34.00: "on"
    7171            RenderSVGTSpan {tspan} at (0,0) size 86x160
    72               RenderSVGInlineText {#text} at (2,-2) size 86x160
    73                 chunk 1 (end anchor, vertical) text run 3 at (-3.50,18.66) startOffset 0 endOffset 7 height 119.00: " a Path"
     72              RenderSVGInlineText {#text} at (2,-11) size 86x160
     73                chunk 1 (end anchor, vertical) text run 3 at (-3.50,27.16) startOffset 0 endOffset 7 height 119.00: " a Path"
    7474          RenderSVGInlineText {#text} at (0,0) size 0x0
    7575        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    8686          RenderSVGContainer {g} at (14.89,177.29) size 120.11x30.43
    8787            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"]
    88         RenderSVGText {text} at (74,26) size 61x187 contains 1 chunk(s)
    89           RenderSVGTextPath {textPath} at (0,0) size 61x187
    90             RenderSVGInlineText {#text} at (3,-13) size 49x37
    91               chunk 1 (vertical) text run 1 at (74.72,26.10) startOffset 0 endOffset 5 height 85.00: "Text "
    92             RenderSVGTSpan {tspan} at (0,0) size 9x34
    93               RenderSVGInlineText {#text} at (55,21) size 9x34
    94                 chunk 1 (vertical) text run 2 at (129.61,60.10) startOffset 0 endOffset 2 height 34.00: "on"
     88        RenderSVGText {text} at (74,34) size 58x187 contains 1 chunk(s)
     89          RenderSVGTextPath {textPath} at (0,0) size 58x187
     90            RenderSVGInlineText {#text} at (3,-21) size 47x37
     91              chunk 1 (vertical) text run 1 at (74.72,34.60) startOffset 0 endOffset 5 height 85.00: "Text "
     92            RenderSVGTSpan {tspan} at (0,0) size 14x36
     93              RenderSVGInlineText {#text} at (47,8) size 14x36
     94                chunk 1 (vertical) text run 2 at (119.61,68.60) startOffset 0 endOffset 2 height 34.00: "on"
    9595            RenderSVGTSpan {tspan} at (0,0) size 9x119
    96               RenderSVGInlineText {#text} at (45,55) size 9x119
    97                 chunk 1 (vertical) text run 3 at (119.61,94.10) startOffset 0 endOffset 7 height 119.00: " a Path"
     96              RenderSVGInlineText {#text} at (45,47) size 9x119
     97                chunk 1 (vertical) text run 3 at (119.61,102.60) startOffset 0 endOffset 7 height 119.00: " a Path"
    9898          RenderSVGInlineText {#text} at (0,0) size 0x0
    9999        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    110110          RenderSVGContainer {g} at (164.89,177.29) size 120.11x30.43
    111111            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"]
    112         RenderSVGText {text} at (-5,8) size 132x85 contains 1 chunk(s)
    113           RenderSVGTextPath {textPath} at (0,0) size 132x85
    114             RenderSVGInlineText {#text} at (1,-12) size 40x51
    115               chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     112        RenderSVGText {text} at (-5,17) size 129x85 contains 1 chunk(s)
     113          RenderSVGTextPath {textPath} at (0,0) size 129x85
     114            RenderSVGInlineText {#text} at (1,-21) size 40x51
     115              chunk 1 (middle anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    116116            RenderSVGTSpan {tspan} at (0,0) size 30x36
    117               RenderSVGInlineText {#text} at (65,3) size 30x36
    118                 chunk 1 (middle anchor, vertical) text run 2 at (59.23,18.66) startOffset 0 endOffset 2 height 34.00: "on"
    119             RenderSVGTSpan {tspan} at (0,0) size 49x70
    120               RenderSVGInlineText {#text} at (84,3) size 49x70
    121                 chunk 1 (middle anchor, vertical) text run 3 at (77.22,26.10) startOffset 0 endOffset 7 height 119.00: " a Path"
     117              RenderSVGInlineText {#text} at (65,-6) size 30x36
     118                chunk 1 (middle anchor, vertical) text run 2 at (49.23,27.16) startOffset 0 endOffset 2 height 34.00: "on"
     119            RenderSVGTSpan {tspan} at (0,0) size 46x70
     120              RenderSVGInlineText {#text} at (84,-6) size 46x70
     121                chunk 1 (middle anchor, vertical) text run 3 at (77.22,34.60) startOffset 0 endOffset 7 height 119.00: " a Path"
    122122          RenderSVGInlineText {#text} at (0,0) size 0x0
    123123        RenderSVGText {text} at (35,60) size 73x13 contains 1 chunk(s)
     
    134134          RenderSVGContainer {g} at (314.89,177.29) size 120.11x30.43
    135135            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"]
    136         RenderSVGText {text} at (-5,8) size 133x102 contains 1 chunk(s)
     136        RenderSVGText {text} at (-5,17) size 133x102 contains 1 chunk(s)
    137137          RenderSVGTextPath {textPath} at (0,0) size 133x102
    138             RenderSVGInlineText {#text} at (1,-12) size 9x85
    139               chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     138            RenderSVGInlineText {#text} at (1,-21) size 9x85
     139              chunk 1 (end anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    140140            RenderSVGTSpan {tspan} at (0,0) size 26x90
    141               RenderSVGInlineText {#text} at (11,0) size 26x90
    142                 chunk 1 (end anchor, vertical) text run 2 at (6.00,28.12) startOffset 0 endOffset 2 height 34.00: "on"
     141              RenderSVGInlineText {#text} at (11,-9) size 26x90
     142                chunk 1 (end anchor, vertical) text run 2 at (-4.00,36.62) startOffset 0 endOffset 2 height 34.00: "on"
    143143            RenderSVGTSpan {tspan} at (0,0) size 100x45
    144               RenderSVGInlineText {#text} at (34,-3) size 100x45
    145                 chunk 1 (end anchor, vertical) text run 3 at (37.84,18.71) startOffset 0 endOffset 7 height 119.00: " a Path"
     144              RenderSVGInlineText {#text} at (34,-12) size 100x45
     145                chunk 1 (end anchor, vertical) text run 3 at (37.84,27.21) startOffset 0 endOffset 7 height 119.00: " a Path"
    146146          RenderSVGInlineText {#text} at (0,0) size 0x0
    147147        RenderSVGText {text} at (35,60) size 78x13 contains 1 chunk(s)
     
    158158          RenderSVGContainer {g} at (14.89,277.29) size 120.11x30.43
    159159            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"]
    160         RenderSVGText {text} at (46,17) size 89x162 contains 1 chunk(s)
    161           RenderSVGTextPath {textPath} at (0,0) size 89x162
    162             RenderSVGInlineText {#text} at (1,-12) size 58x44
    163               chunk 1 (vertical) text run 1 at (46.63,17.90) startOffset 0 endOffset 5 height 85.00: "Text "
    164             RenderSVGTSpan {tspan} at (0,0) size 19x40
    165               RenderSVGInlineText {#text} at (71,-9) size 19x40
    166                 chunk 1 (vertical) text run 2 at (127.54,26.96) startOffset 0 endOffset 2 height 34.00: "on"
     160        RenderSVGText {text} at (46,26) size 85x162 contains 1 chunk(s)
     161          RenderSVGTextPath {textPath} at (0,0) size 85x162
     162            RenderSVGInlineText {#text} at (1,-21) size 58x44
     163              chunk 1 (vertical) text run 1 at (46.63,26.40) startOffset 0 endOffset 5 height 85.00: "Text "
     164            RenderSVGTSpan {tspan} at (0,0) size 15x36
     165              RenderSVGInlineText {#text} at (71,-18) size 15x36
     166                chunk 1 (vertical) text run 2 at (117.54,35.46) startOffset 0 endOffset 2 height 34.00: "on"
    167167            RenderSVGTSpan {tspan} at (0,0) size 9x120
    168               RenderSVGInlineText {#text} at (71,30) size 9x120
    169                 chunk 1 (vertical) text run 3 at (117.54,60.96) startOffset 0 endOffset 7 height 119.00: " a Path"
     168              RenderSVGInlineText {#text} at (71,21) size 9x120
     169                chunk 1 (vertical) text run 3 at (117.54,69.46) startOffset 0 endOffset 7 height 119.00: " a Path"
    170170          RenderSVGInlineText {#text} at (0,0) size 0x0
    171171        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    182182          RenderSVGContainer {g} at (164.89,277.29) size 120.11x30.43
    183183            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"]
    184         RenderSVGText {text} at (-5,8) size 130x85 contains 1 chunk(s)
    185           RenderSVGTextPath {textPath} at (0,0) size 130x85
    186             RenderSVGInlineText {#text} at (1,-12) size 9x85
    187               chunk 1 (middle anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     184        RenderSVGText {text} at (-5,17) size 127x85 contains 1 chunk(s)
     185          RenderSVGTextPath {textPath} at (0,0) size 127x85
     186            RenderSVGInlineText {#text} at (1,-21) size 9x85
     187              chunk 1 (middle anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    188188            RenderSVGTSpan {tspan} at (0,0) size 34x29
    189               RenderSVGInlineText {#text} at (15,-7) size 34x29
    190                 chunk 1 (middle anchor, vertical) text run 2 at (27.77,21.16) startOffset 0 endOffset 2 height 34.00: "on"
    191             RenderSVGTSpan {tspan} at (0,0) size 76x44
    192               RenderSVGInlineText {#text} at (55,-3) size 76x44
    193                 chunk 1 (middle anchor, vertical) text run 3 at (49.13,17.90) startOffset 0 endOffset 7 height 119.00: " a Path"
     189              RenderSVGInlineText {#text} at (15,-16) size 34x29
     190                chunk 1 (middle anchor, vertical) text run 2 at (17.77,29.66) startOffset 0 endOffset 2 height 34.00: "on"
     191            RenderSVGTSpan {tspan} at (0,0) size 73x44
     192              RenderSVGInlineText {#text} at (55,-12) size 73x44
     193                chunk 1 (middle anchor, vertical) text run 3 at (49.13,26.40) startOffset 0 endOffset 7 height 119.00: " a Path"
    194194          RenderSVGInlineText {#text} at (0,0) size 0x0
    195195        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    203203          RenderSVGContainer {g} at (314.89,277.29) size 120.11x30.43
    204204            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"]
    205         RenderSVGText {text} at (-5,8) size 39x204 contains 1 chunk(s)
     205        RenderSVGText {text} at (-5,17) size 39x204 contains 1 chunk(s)
    206206          RenderSVGTextPath {textPath} at (0,0) size 39x204
    207             RenderSVGInlineText {#text} at (1,-12) size 9x85
    208               chunk 1 (end anchor, vertical) text run 1 at (-4.50,8.50) startOffset 0 endOffset 5 height 85.00: "Text "
     207            RenderSVGInlineText {#text} at (1,-21) size 9x85
     208              chunk 1 (end anchor, vertical) text run 1 at (-4.50,17.00) startOffset 0 endOffset 5 height 85.00: "Text "
    209209            RenderSVGTSpan {tspan} at (0,0) size 8x35
    210               RenderSVGInlineText {#text} at (11,72) size 8x35
    211                 chunk 1 (end anchor, vertical) text run 2 at (6.00,93.50) startOffset 0 endOffset 2 height 34.00: "on"
     210              RenderSVGInlineText {#text} at (11,63) size 8x35
     211                chunk 1 (end anchor, vertical) text run 2 at (-4.00,102.00) startOffset 0 endOffset 2 height 34.00: "on"
    212212            RenderSVGTSpan {tspan} at (0,0) size 39x193
    213               RenderSVGInlineText {#text} at (1,-1) size 39x193
    214                 chunk 1 (end anchor, vertical) text run 3 at (-4.00,21.16) startOffset 0 endOffset 7 height 119.00: " a Path"
     213              RenderSVGInlineText {#text} at (1,-10) size 39x193
     214                chunk 1 (end anchor, vertical) text run 3 at (-4.00,29.66) startOffset 0 endOffset 7 height 119.00: " a Path"
    215215          RenderSVGInlineText {#text} at (0,0) size 0x0
    216216        RenderSVGText {text} at (35,60) size 65x13 contains 1 chunk(s)
     
    223223          RenderSVGInlineText {#text} at (0,-10) size 107x13
    224224            chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 25 width 107.00: "glyph-orientation=\"90deg\""
    225       RenderSVGContainer {g} at (25,370.67) size 123x262.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
     225      RenderSVGContainer {g} at (18,370.67) size 132x262.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
    226226        RenderSVGContainer {use} at (39.70,370.67) size 90.60x49.33
    227227          RenderSVGContainer {g} at (39.70,370.67) size 90.60x49.33
    228228            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"]
    229         RenderSVGText {text} at (34,21) size 123x256 contains 1 chunk(s)
    230           RenderSVGTextPath {textPath} at (0,0) size 123x256
    231             RenderSVGTSpan {tspan} at (0,0) size 77x51
    232               RenderSVGInlineText {#text} at (-19,-14) size 77x51
    233                 chunk 1 (vertical) text run 1 at (34.73,21.30) startOffset 0 endOffset 5 height 85.00: "super"
    234             RenderSVGInlineText {#text} at (68,-4) size 36x76
    235               chunk 1 (vertical) text run 2 at (99.82,27.69) startOffset 0 endOffset 5 height 85.00: " and "
    236             RenderSVGTSpan {tspan} at (0,0) size 8x52
    237               RenderSVGInlineText {#text} at (73,71) size 8x52
    238                 chunk 1 (vertical) text run 3 at (107.34,105.89) startOffset 0 endOffset 3 height 51.00: "sub"
    239             RenderSVGInlineText {#text} at (81,122) size 9x120
    240               chunk 1 (vertical) text run 4 at (115.84,156.89) startOffset 0 endOffset 7 height 119.00: "scripts"
     229        RenderSVGText {text} at (27,29) size 132x257 contains 1 chunk(s)
     230          RenderSVGTextPath {textPath} at (0,0) size 132x257
     231            RenderSVGTSpan {tspan} at (0,0) size 93x43
     232              RenderSVGInlineText {#text} at (-19,-23) size 93x43
     233                chunk 1 (vertical) text run 1 at (27.93,29.80) startOffset 0 endOffset 5 height 85.00: "super"
     234            RenderSVGInlineText {#text} at (75,-12) size 38x84
     235              chunk 1 (vertical) text run 2 at (99.82,36.19) startOffset 0 endOffset 5 height 85.00: " and "
     236            RenderSVGTSpan {tspan} at (0,0) size 19x44
     237              RenderSVGInlineText {#text} at (92,74) size 19x44
     238                chunk 1 (vertical) text run 3 at (115.84,114.39) startOffset 0 endOffset 3 height 51.00: "sub"
     239            RenderSVGInlineText {#text} at (97,114) size 8x120
     240              chunk 1 (vertical) text run 4 at (124.34,165.39) startOffset 0 endOffset 7 height 119.00: "scripts"
    241241          RenderSVGInlineText {#text} at (0,0) size 0x0
    242242        RenderSVGText {text} at (20,65) size 88x13 contains 1 chunk(s)
     
    249249          RenderSVGInlineText {#text} at (0,-10) size 100x13
    250250            chunk 1 text run 1 at (20.00,85.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
    251       RenderSVGContainer {g} at (308,370.67) size 130x279.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
     251      RenderSVGContainer {g} at (306,370.67) size 133x279.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
    252252        RenderSVGContainer {use} at (329.70,370.67) size 90.60x49.33
    253253          RenderSVGContainer {g} at (329.70,370.67) size 90.60x49.33
    254254            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"]
    255         RenderSVGText {text} at (29,21) size 130x272 contains 1 chunk(s)
    256           RenderSVGTextPath {textPath} at (0,0) size 130x272
    257             RenderSVGTSpan {tspan} at (0,0) size 130x62
    258               RenderSVGInlineText {#text} at (-21,-13) size 130x62
    259                 chunk 1 (vertical) text run 1 at (29.93,21.30) startOffset 0 endOffset 8 height 136.00: "positive"
    260             RenderSVGInlineText {#text} at (83,37) size 9x86
    261               chunk 1 (vertical) text run 2 at (112.84,71.89) startOffset 0 endOffset 5 height 85.00: " and "
     255        RenderSVGText {text} at (26,29) size 133x273 contains 1 chunk(s)
     256          RenderSVGTextPath {textPath} at (0,0) size 133x273
     257            RenderSVGTSpan {tspan} at (0,0) size 133x66
     258              RenderSVGInlineText {#text} at (-20,-22) size 133x66
     259                chunk 1 (vertical) text run 1 at (26.93,29.80) startOffset 0 endOffset 8 height 136.00: "positive"
     260            RenderSVGInlineText {#text} at (86,29) size 9x86
     261              chunk 1 (vertical) text run 2 at (112.84,80.39) startOffset 0 endOffset 5 height 85.00: " and "
    262262            RenderSVGTSpan {tspan} at (0,0) size 9x137
    263               RenderSVGInlineText {#text} at (80,122) size 9x137
    264                 chunk 1 (vertical) text run 3 at (109.84,156.89) startOffset 0 endOffset 8 height 136.00: "negative"
     263              RenderSVGInlineText {#text} at (83,114) size 9x137
     264                chunk 1 (vertical) text run 3 at (112.84,165.39) startOffset 0 endOffset 8 height 136.00: "negative"
    265265          RenderSVGInlineText {#text} at (0,0) size 0x0
    266266        RenderSVGText {text} at (20,65) size 97x13 contains 1 chunk(s)
     
    270270          RenderSVGInlineText {#text} at (0,-10) size 100x13
    271271            chunk 1 text run 1 at (20.00,75.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
    272       RenderSVGContainer {g} at (180,358.75) size 107.25x266.25 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,370.00)}]
    273         RenderSVGContainer {g} at (183.75,358.75) size 103.50x266.25 [transform={m=((0.75,0.00)(0.00,0.75)) t=(0.00,0.00)}]
     272      RenderSVGContainer {g} at (180,358.75) size 108x266.25 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,370.00)}]
     273        RenderSVGContainer {g} at (183.75,358.75) size 104.25x266.25 [transform={m=((0.75,0.00)(0.00,0.75)) t=(0.00,0.00)}]
    274274          RenderSVGContainer {use} at (202.27,370.50) size 67.95x37
    275275            RenderSVGContainer {g} at (202.27,370.50) size 67.95x37
    276276              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.00C100.00,0.00,400.00,0.00,400.00,100.00"]
    277           RenderSVGText {text} at (5,3) size 138x355 contains 1 chunk(s)
     277          RenderSVGText {text} at (5,3) size 139x355 contains 1 chunk(s)
    278278            RenderSVGInlineText {#text} at (0,-18) size 10x276
    279279              chunk 1 (vertical) text run 1 at (5.00,3.00) startOffset 0 endOffset 12 height 276.00: "before path "
    280             RenderSVGTextPath {textPath} at (0,0) size 133x92
    281               RenderSVGInlineText {#text} at (5,3) size 133x92
    282                 chunk 1 (vertical) text run 2 at (33.14,24.21) startOffset 0 endOffset 7 height 161.00: "on path"
     280            RenderSVGTextPath {textPath} at (0,0) size 134x106
     281              RenderSVGInlineText {#text} at (5,3) size 134x106
     282                chunk 1 (vertical) text run 2 at (33.14,35.71) startOffset 0 endOffset 7 height 161.00: "on path"
    283283            RenderSVGInlineText {#text} at (107,106) size 10x231
    284284              chunk 1 (vertical) text run 3 at (112.22,127.87) startOffset 0 endOffset 10 height 230.00: "after path"
  • branches/feature-branch/WebCore/ChangeLog

    r26101 r26103  
     12007-10-07  Nikolas Zimmermann  <zimmermann@kde.org>
     2
     3        Reviewed by Eric.
     4
     5        Fix some issues with rotation & baseline-shift, when spanning
     6        across <tspan> elements. Highlighted by the existing batik tests.
     7
     8        * rendering/SVGCharacterLayoutInfo.cpp:
     9        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
     10        (WebCore::SVGCharacterLayoutInfo::processedChunk):
     11        (WebCore::SVGChar::characterTransform):
     12        * rendering/SVGCharacterLayoutInfo.h:
     13        * rendering/SVGInlineTextBox.cpp:
     14        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
     15        (WebCore::SVGInlineTextBox::paintCharacters):
     16        (WebCore::SVGInlineTextBox::paintDecoration):
     17        * rendering/SVGRootInlineBox.cpp:
     18        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
     19
    1202007-10-07  Mark Rowe  <mrowe@apple.com>
    221
  • branches/feature-branch/WebCore/rendering/SVGCharacterLayoutInfo.cpp

    r26013 r26103  
    7373    : curx(0.0)
    7474    , cury(0.0)
     75    , angle(0.0)
    7576    , dx(0.0)
    7677    , dy(0.0)
     
    166167}
    167168
    168 void SVGCharacterLayoutInfo::processedChunk(float lastShiftX, float lastShiftY)
     169void SVGCharacterLayoutInfo::processedChunk(float savedShiftX, float savedShiftY)
    169170{
    170171    // baseline-shift doesn't span across ancestors, unlike dx/dy.
    171     curx += lastShiftX - shiftx;
    172     cury += lastShiftY - shifty;
     172    curx += savedShiftX - shiftx;
     173    cury += savedShiftY - shifty;
     174
     175    if (inPathLayout()) {
     176        shiftx = savedShiftX;
     177        shifty = savedShiftY;
     178    }
     179
     180    // rotation also doesn't span
     181    angle = 0.0;
    173182
    174183    if (xStackChanged) {
     
    486495}
    487496
     497AffineTransform SVGChar::characterTransform() const
     498{
     499    AffineTransform ctm;
     500
     501    // Rotate character around angle
     502    ctm.translate(x, y);
     503    ctm.rotate(angle);
     504    ctm.translate(-x, -y);
     505
     506    // Apply transformations which have to be applied after
     507    // the rotation - only happens with textPath.
     508    ctm.translate(pathXShift, pathYShift);
     509
     510    return ctm;
     511}
     512
    488513} // namespace WebCore
    489514
  • branches/feature-branch/WebCore/rendering/SVGCharacterLayoutInfo.h

    r25888 r26103  
    9494    float baselineShiftValueNext() const;
    9595
    96     void processedChunk(float lastShiftX, float lastShiftY);
     96    void processedChunk(float savedShiftX, float savedShiftY);
    9797    void processedSingleCharacter();
    9898
     
    112112    float cury;
    113113
     114    // Global rotation
     115    float angle;
     116
    114117    // Accumulated dx/dy values
    115118    float dx;
    116119    float dy;
    117120
    118     // Accumulated applied shift values
     121    // Accumulated baseline-shift values
    119122    float shiftx;
    120123    float shifty;
     
    165168    float x;
    166169    float y;
    167 
    168     AffineTransform transform;
     170    float angle;
     171
     172    float pathXShift;
     173    float pathYShift;
    169174
    170175    // Determines wheter this char is visible (ie. false for chars "off" the text layout path)
     
    176181    // Determines wheter this char starts a new chunk
    177182    bool newTextChunk : 1;
     183
     184    // Helper method
     185    AffineTransform characterTransform() const;
    178186};
    179187
  • branches/feature-branch/WebCore/rendering/SVGInlineTextBox.cpp

    r26013 r26103  
    108108
    109109    // Take per-character transformations into account
    110     if (!svgChar.transform.isIdentity())
    111         glyphRect = svgChar.transform.mapRect(glyphRect);
     110    AffineTransform ctm = svgChar.characterTransform();
     111    if (!ctm.isIdentity())
     112        glyphRect = ctm.mapRect(glyphRect);
    112113
    113114    return glyphRect;
     
    340341        paintInfo.context->setFont(*font);
    341342
    342     if (!svgChar.transform.isIdentity())
    343         paintInfo.context->concatCTM(svgChar.transform);
     343    AffineTransform ctm = svgChar.characterTransform();
     344    if (!ctm.isIdentity())
     345        paintInfo.context->concatCTM(ctm);
    344346
    345347    // 1. Paint backgrounds behind text if needed.  Examples of such backgrounds include selection
     
    414416        paintInfo.context->clearShadow();
    415417
    416     if (!svgChar.transform.isIdentity())
    417         paintInfo.context->concatCTM(svgChar.transform.inverse());
     418    if (!ctm.isIdentity())
     419        paintInfo.context->concatCTM(ctm.inverse());
    418420}
    419421
     
    500502    context->beginPath();
    501503
    502     if (!svgChar.transform.isIdentity())
    503         context->concatCTM(svgChar.transform);
     504    AffineTransform ctm = svgChar.characterTransform();
     505    if (!ctm.isIdentity())
     506        context->concatCTM(ctm);
    504507
    505508    if (isFilled) {
  • branches/feature-branch/WebCore/rendering/SVGRootInlineBox.cpp

    r26013 r26103  
    759759        svgChar.newTextChunk = false;
    760760
    761         float angle = 0.0;
    762761        float glyphWidth = 0.0;
    763762        float glyphHeight = 0.0;
     
    804803                newOffset = info.cury;
    805804
    806             svgChar.visible = info.nextPathLayoutPointAndAngle(info.curx, info.cury, angle, glyphAdvance, newOffset);
    807         }
    808 
    809         float dx = 0.0;
    810         float dy = 0.0;
     805            svgChar.visible = info.nextPathLayoutPointAndAngle(info.curx, info.cury, info.angle, glyphAdvance, newOffset);
     806            svgChar.drawnSeperated = true;
     807        }
    811808
    812809        // Apply x-axis shift
    813810        if (info.dxValueAvailable()) {
    814             dx = info.dxValueNext();
    815811            svgChar.drawnSeperated = true;
    816812
     813            float dx = info.dxValueNext();
    817814            info.dx += dx;
    818815
     
    823820        // Apply y-axis shift
    824821        if (info.dyValueAvailable()) {
    825             dy = info.dyValueNext();
    826822            svgChar.drawnSeperated = true;
    827823
     824            float dy = info.dyValueNext();
    828825            info.dy += dy;
    829826
     
    833830
    834831        // Apply rotation
    835         if (info.angleValueAvailable()) {
    836             svgChar.drawnSeperated = true;
    837             angle = info.angleValueNext();
    838         }
     832        if (info.angleValueAvailable())
     833            info.angle = info.angleValueNext();
    839834
    840835        // Apply baseline-shift
     
    843838            float shift = info.baselineShiftValueNext();
    844839
    845             if (isVerticalText) {
     840            if (isVerticalText)
    846841                info.shiftx += shift;
    847                 info.curx += shift;
    848             } else {
     842            else
    849843                info.shifty -= shift;
    850                 info.cury -= shift;
    851             }
    852844        }
    853845
     
    855847        svgChar.y = info.cury;
    856848
    857         float pathXShift = 0.0;
    858         float pathYShift = 0.0;
    859 
    860         // Correct character position for text on path layout
    861         // All placed characters on a path use absolute positioning (internally).
    862         // So we still have to apply baseline-shift/dx/dy corrections manually.
    863         if (info.inPathLayout()) {
    864             svgChar.drawnSeperated = true;
     849        // For text paths any shift (dx/dy/baseline-shift) has to be applied after the rotation
     850        if (!info.inPathLayout()) {
     851            svgChar.x += info.shiftx;
     852            svgChar.y += info.shifty;
     853
     854            svgChar.pathXShift = 0.0;
     855            svgChar.pathYShift = 0.0;
     856        } else {
     857            svgChar.pathXShift = info.dx + info.shiftx;
     858            svgChar.pathYShift = info.dy + info.shifty;
    865859
    866860            // Translate to glyph midpoint
    867861            if (isVerticalText)
    868                 pathYShift = glyphHeight / 2.0;
     862                svgChar.pathYShift -= glyphHeight / 2.0;
    869863            else
    870                 pathXShift = glyphWidth / 2.0;
    871 
    872             // Respect accumulated dx/dy values
    873             pathXShift -= info.dx;
    874             pathYShift -= info.dy;
    875 
    876             // Alter character position
    877             svgChar.x -= pathXShift;
    878             svgChar.y -= pathYShift;
    879         }
    880 
     864                svgChar.pathXShift -= glyphWidth / 2.0;
     865        }
     866 
    881867        // Correct character position for vertical text layout
    882868        if (isVerticalText) {
     
    886872        }
    887873
    888         // Setup affine transform for single glyph
    889         if (angle != 0.0) {
    890             AffineTransform rotationMatrix;
    891 
    892             rotationMatrix.translate(svgChar.x + pathXShift, svgChar.y + pathYShift);
    893             rotationMatrix.rotate(angle);
    894             rotationMatrix.translate(-svgChar.x - pathXShift, -svgChar.y - pathYShift);
    895 
    896             svgChar.transform = rotationMatrix;
    897         }
     874        // Record angle if specified
     875        svgChar.angle = info.angle;
     876        if (svgChar.angle != 0.0)
     877            svgChar.drawnSeperated = true;
    898878
    899879        // Advance current position
Note: See TracChangeset for help on using the changeset viewer.