Changeset 24916 in webkit


Ignore:
Timestamp:
Aug 7, 2007 4:09:46 PM (17 years ago)
Author:
zimmermann
Message:

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text)

Use drawHighlightForText() to draw the selection, instead of my home-brewn solution.
Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed
helper function cummulatedWidthOfSelectionRange.

Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple
child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and
LTR text cases where newlines were involved - see changed testcase results.)
This affects a lot of LTR tests which actually had more than one child text box, that
wasn't taken properly into account before (in terms of selection, not rendering.)

Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition()
and by offering RTL text selection special cases in svgCharacterHitsPosition().

Centralized the creation of a TextStyle object for text selection/painting in a new helper function
svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to
centralize these calculations -> use these new helpers everywhere to avoid code duplication.

A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg.
SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default).
Discussed with Mitz.

Location:
branches/feature-branch
Files:
95 edited

Legend:

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

    r24772 r24916  
     12007-08-08  Nikolas Zimmermann  <zimmermann@kde.org>
     2
     3        Reviewed by Oliver.
     4
     5        Update test results after the SVG RTL text selection checkin.
     6        Now dumps all contained inline text boxes, which affects a lot of tests.
     7
     8        * svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
     9        * svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
     10        * svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
     11        * svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
     12        * svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
     13        * svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
     14        * svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.checksum:
     15        * svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png:
     16        * svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt:
     17        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum:
     18        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
     19        * svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
     20        * svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
     21        * svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
     22        * svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
     23        * svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
     24        * svg/W3C-SVG-1.1/linking-a-07-t-expected.txt:
     25        * svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
     26        * svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
     27        * svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
     28        * svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
     29        * svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt:
     30        * svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
     31        * svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
     32        * svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
     33        * svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
     34        * svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
     35        * svg/batik/text/longTextOnPath-expected.txt:
     36        * svg/batik/text/textAnchor-expected.checksum:
     37        * svg/batik/text/textAnchor-expected.png:
     38        * svg/batik/text/textAnchor-expected.txt:
     39        * svg/batik/text/textBiDi-expected.checksum:
     40        * svg/batik/text/textBiDi-expected.png:
     41        * svg/batik/text/textBiDi-expected.txt:
     42        * svg/batik/text/textEffect-expected.checksum:
     43        * svg/batik/text/textEffect-expected.png:
     44        * svg/batik/text/textEffect-expected.txt:
     45        * svg/batik/text/textEffect3-expected.checksum:
     46        * svg/batik/text/textEffect3-expected.png:
     47        * svg/batik/text/textEffect3-expected.txt:
     48        * svg/batik/text/textFeatures-expected.checksum:
     49        * svg/batik/text/textFeatures-expected.png:
     50        * svg/batik/text/textFeatures-expected.txt:
     51        * svg/batik/text/textLayout-expected.checksum:
     52        * svg/batik/text/textLayout-expected.png:
     53        * svg/batik/text/textLayout-expected.txt:
     54        * svg/batik/text/textLayout2-expected.checksum:
     55        * svg/batik/text/textLayout2-expected.png:
     56        * svg/batik/text/textLayout2-expected.txt:
     57        * svg/batik/text/textOnPath2-expected.txt:
     58        * svg/batik/text/textProperties-expected.checksum:
     59        * svg/batik/text/textProperties-expected.png:
     60        * svg/batik/text/textProperties-expected.txt:
     61        * svg/batik/text/textProperties2-expected.checksum:
     62        * svg/batik/text/textProperties2-expected.png:
     63        * svg/batik/text/textProperties2-expected.txt:
     64        * svg/batik/text/textStyles-expected.checksum:
     65        * svg/batik/text/textStyles-expected.png:
     66        * svg/batik/text/textStyles-expected.txt:
     67        * svg/batik/text/xmlSpace-expected.txt:
     68        * svg/carto.net/selectionlist-expected.txt:
     69        * svg/custom/invalid-fill-expected.txt:
     70        * svg/custom/invalid-fill-hex-expected.txt:
     71        * svg/custom/marker-overflow-clip-expected.txt:
     72        * svg/custom/text-whitespace-handling-expected.txt:
     73        * svg/text/text-align-01-b-expected.checksum:
     74        * svg/text/text-align-01-b-expected.png:
     75        * svg/text/text-align-02-b-expected.checksum:
     76        * svg/text/text-align-02-b-expected.png:
     77        * svg/text/text-align-05-b-expected.checksum:
     78        * svg/text/text-align-05-b-expected.png:
     79        * svg/text/text-align-06-b-expected.checksum:
     80        * svg/text/text-align-06-b-expected.png:
     81        * svg/text/text-intro-05-t-expected.txt:
     82        * svg/text/text-path-01-b-expected.checksum:
     83        * svg/text/text-path-01-b-expected.png:
     84        * svg/text/text-spacing-01-b-expected.checksum:
     85        * svg/text/text-spacing-01-b-expected.png:
     86        * svg/text/text-spacing-01-b-expected.txt:
     87        * svg/text/text-text-05-t-expected.checksum:
     88        * svg/text/text-text-05-t-expected.png:
     89        * svg/text/text-tselect-02-f-expected.checksum:
     90        * svg/text/text-tselect-02-f-expected.png:
     91        * svg/text/text-tselect-02-f-expected.txt:
     92        * svg/text/text-tspan-01-b-expected.checksum:
     93        * svg/text/text-tspan-01-b-expected.png:
     94
    1952007-07-29  Nikolas Zimmermann  <zimmermann@kde.org>
    296
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt

    r24292 r24916  
    99      RenderSVGText {text} at (9,18) size 63x9 contains 1 chunk(s) [color=#FF0000]
    1010        RenderSVGInlineText {#text} at (0,-7) size 63x9
    11           chunk 1 text run 1 at (9.00,18.00) startOffset 0 endOffset 22 width 63.00: " 'from'/'to' attribute"
     11          chunk 1 text run 1 at (9.00,18.00) startOffset 0 endOffset 22 width 63.00: "'from'/'to' attribute."
    1212      RenderSVGContainer {g} at (-34.85,-66.71) size 496.85x378.71
    1313        RenderPath {path} at (89.25,177.10) size 301.51x83.81 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00L65.00,30.00"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt

    r24292 r24916  
    99      RenderSVGText {text} at (11,18) size 57x9 contains 1 chunk(s) [color=#FF0000]
    1010        RenderSVGInlineText {#text} at (0,-7) size 57x9
    11           chunk 1 text run 1 at (11.00,18.00) startOffset 0 endOffset 19 width 57.00: " 'values' attribute"
     11          chunk 1 text run 1 at (11.00,18.00) startOffset 0 endOffset 19 width 57.00: "'values' attribute."
    1212      RenderSVGContainer {g} at (-34.85,-66.71) size 457.85x378.71
    1313        RenderPath {path} at (88.62,177) size 301.38x83.66 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00L40.00,30.00L65.00,30.00"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt

    r24292 r24916  
    99      RenderSVGText {text} at (11,18) size 49x9 contains 1 chunk(s) [color=#FF0000]
    1010        RenderSVGInlineText {#text} at (0,-7) size 49x9
    11           chunk 1 text run 1 at (11.00,18.00) startOffset 0 endOffset 17 width 49.00: " 'path' attribute"
     11          chunk 1 text run 1 at (11.00,18.00) startOffset 0 endOffset 17 width 49.00: "'path' attribute."
    1212      RenderSVGContainer {g} at (-34.85,-66.71) size 496.85x378.71
    1313        RenderPath {path} at (87.78,160.76) size 303.44x99.26 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00C15.00,43.00,36.00,20.00,65.00,33.00"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt

    r24292 r24916  
    99      RenderSVGText {text} at (10,18) size 56x9 contains 1 chunk(s) [color=#FF0000]
    1010        RenderSVGInlineText {#text} at (0,-7) size 56x9
    11           chunk 1 text run 1 at (10.00,18.00) startOffset 0 endOffset 16 width 56.00: " 'mpath' element"
     11          chunk 1 text run 1 at (10.00,18.00) startOffset 0 endOffset 16 width 56.00: "'mpath' element."
    1212      RenderSVGContainer {g} at (-34.85,-66.71) size 496.85x378.71
    1313        RenderPath {path} at (87.78,160.76) size 303.44x99.26 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00C15.00,43.00,36.00,20.00,65.00,33.00"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt

    r24292 r24916  
    1717      RenderSVGInlineText {#text} at (0,-25) size 419x32
    1818        chunk 1 text run 1 at (5.00,225.00) startOffset 0 endOffset 21 width 234.00: "Animation on the 'd' "
     19        chunk 1 text run 2 at (239.00,225.00) startOffset 0 endOffset 18 width 185.00: "attribute of path."
    1920    RenderSVGText {text} at (5,255) size 325x22 contains 1 chunk(s)
    2021      RenderSVGInlineText {#text} at (0,-17) size 325x22
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt

    r24292 r24916  
    1111      RenderSVGText {text} at (250,20) size 208x14 contains 1 chunk(s)
    1212        RenderSVGInlineText {#text} at (0,-11) size 208x14
    13           chunk 1 text run 1 at (250.00,20.00) startOffset 0 endOffset 40 width 163.00: "                    Basic test of ICC pr"
     13          chunk 1 text run 1 at (250.00,20.00) startOffset 0 endOffset 40 width 208.00: "Basic test of ICC profile with an image."
    1414    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    1515      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.checksum

    r21705 r24916  
    1 7cf087db97699f6321ca28496846d607
     10baa769905537bd4facdc6d57f3bfbe5
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt

    r24292 r24916  
    66      RenderSVGInlineText {#text} at (0,-18) size 209x23
    77        chunk 1 (middle anchor) text run 1 at (135.50,28.00) startOffset 0 endOffset 25 width 209.00: "<svg> 'viewBox' attribute"
    8     RenderSVGContainer {g} at (16,19.50) size 448x284.50
     8    RenderSVGContainer {g} at (16,19.50) size 452x284.50
    99      RenderSVGContainer {svg} at (44.75,59.75) size 80.50x80.50
    1010        RenderPath {path} at (44.75,59.75) size 80.50x80.50 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#ADD8E6] [fill rule=EVEN-ODD]}] [data="M20.00,20.00C126.67,20.00,180.00,73.33,180.00,180.00C73.33,180.00,20.00,126.67,20.00,20.00M20.00,180.00C20.00,73.33,73.33,20.00,180.00,20.00C180.00,126.67,126.67,180.00,20.00,180.00M100.00,40.00L160.00,100.00L100.00,160.00L40.00,100.00"]
     
    4141      RenderSVGContainer {svg} at (354.75,59.75) size 80.50x80.50
    4242        RenderPath {path} at (354.75,59.75) size 80.50x80.50 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#ADD8E6] [fill rule=EVEN-ODD]}] [data="M20.00,20.00C126.67,20.00,180.00,73.33,180.00,180.00C73.33,180.00,20.00,126.67,20.00,20.00M20.00,180.00C20.00,73.33,73.33,20.00,180.00,20.00C180.00,126.67,126.67,180.00,20.00,180.00M100.00,40.00L160.00,100.00L100.00,160.00L40.00,100.00"]
    43       RenderSVGText {text} at (318,155) size 146x17 contains 1 chunk(s)
     43      RenderSVGText {text} at (322,155) size 146x17 contains 1 chunk(s)
    4444        RenderSVGInlineText {#text} at (0,-13) size 146x17
    45           chunk 1 (middle anchor) text run 1 at (318.00,155.00) startOffset 0 endOffset 14 width 90.00: "viewBox=\"0,0, "
     45          chunk 1 (middle anchor) text run 1 at (322.00,155.00) startOffset 0 endOffset 14 width 90.00: "viewBox=\"0,0, "
     46          chunk 1 (middle anchor) text run 2 at (412.00,155.00) startOffset 0 endOffset 9 width 56.00: "200, 200\""
    4647      RenderSVGText {text} at (341,170) size 108x17 contains 1 chunk(s)
    4748        RenderSVGInlineText {#text} at (0,-13) size 108x17
     
    4950      RenderSVGContainer {svg} at (354.75,189.75) size 80.50x80.50
    5051        RenderPath {path} at (354.75,189.75) size 80.50x80.50 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#ADD8E6] [fill rule=EVEN-ODD]}] [data="M20.00,20.00C126.67,20.00,180.00,73.33,180.00,180.00C73.33,180.00,20.00,126.67,20.00,20.00M20.00,180.00C20.00,73.33,73.33,20.00,180.00,20.00C180.00,126.67,126.67,180.00,20.00,180.00M100.00,40.00L160.00,100.00L100.00,160.00L40.00,100.00"]
    51       RenderSVGText {text} at (318,285) size 146x17 contains 1 chunk(s)
     52      RenderSVGText {text} at (322,285) size 146x17 contains 1 chunk(s)
    5253        RenderSVGInlineText {#text} at (0,-13) size 146x17
    53           chunk 1 (middle anchor) text run 1 at (318.00,285.00) startOffset 0 endOffset 14 width 90.00: "viewBox=\"0,0, "
     54          chunk 1 (middle anchor) text run 1 at (322.00,285.00) startOffset 0 endOffset 14 width 90.00: "viewBox=\"0,0, "
     55          chunk 1 (middle anchor) text run 2 at (412.00,285.00) startOffset 0 endOffset 9 width 56.00: "200, 200\""
    5456      RenderSVGText {text} at (340,300) size 109x17 contains 1 chunk(s)
    5557        RenderSVGInlineText {#text} at (0,-13) size 109x17
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum

    r21705 r24916  
    1 0b5b77f713da674c6fc3cd152ccc0e4d
     162bbc3d96005b48293ea8bc88ec56719
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt

    r24292 r24916  
    33layer at (0,0) size 480x360
    44  RenderSVGRoot {svg} at (0.50,0.50) size 479x359
    5     RenderSVGContainer {g} at (77,16) size 349x259.39
    6       RenderSVGContainer {g} at (77,16) size 349x17
     5    RenderSVGContainer {g} at (65,16) size 349x259.39
     6      RenderSVGContainer {g} at (65,16) size 349x17
    77        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    8         RenderSVGText {text} at (77,30) size 349x17 contains 1 chunk(s)
     8        RenderSVGText {text} at (65,30) size 349x17 contains 1 chunk(s)
    99          RenderSVGInlineText {#text} at (0,-14) size 349x17
    10             chunk 1 (middle anchor) text run 1 at (77.00,30.00) startOffset 0 endOffset 51 width 326.00: "      Pie chart built from data in a different name"
     10            chunk 1 (middle anchor) text run 1 at (65.50,30.00) startOffset 0 endOffset 51 width 349.00: "Pie chart built from data in a different namespace."
    1111      RenderSVGContainer {g} at (126.05,61.42) size 242.55x213.97
    1212        RenderPath {path} at (263.86,76.89) size 104.74x81.61 [transform={m=((1.00,0.00)(0.00,1.00)) t=(27.00,-13.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [fill={[type=SOLID] [color=#FF8888]}] [data="M240.00,170.00L340.00,170.00C340.10,139.74,326.50,111.06,303.00,92.00"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt

    r24292 r24916  
    77      RenderSVGText {text} at (30,40) size 408x44 contains 1 chunk(s)
    88        RenderSVGInlineText {#text} at (0,-36) size 408x44
    9           chunk 1 text run 1 at (30.00,40.00) startOffset 0 endOffset 25 width 353.00: "             'onload' eve"
     9          chunk 1 text run 1 at (30.00,40.00) startOffset 0 endOffset 25 width 408.00: "'onload' event attribute."
    1010      RenderSVGContainer {g} at (47.50,45) size 363x261
    1111        RenderSVGContainer {g} at (47.50,45) size 110x128 [transform={m=((1.00,0.00)(0.00,1.00)) t=(77.50,45.00)}]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt

    r24292 r24916  
    1717        RenderSVGText {text} at (150,110) size 283x44 contains 1 chunk(s)
    1818          RenderSVGInlineText {#text} at (0,-36) size 283x44
    19             chunk 1 text run 1 at (150.00,110.00) startOffset 0 endOffset 18 width 234.00: "             Point"
     19            chunk 1 text run 1 at (150.00,110.00) startOffset 0 endOffset 18 width 283.00: "Pointer in circle,"
    2020        RenderSVGText {text} at (150,150) size 260x44 contains 1 chunk(s)
    2121          RenderSVGInlineText {#text} at (0,-36) size 260x44
    22             chunk 1 text run 1 at (150.00,150.00) startOffset 0 endOffset 16 width 185.00: "             cir"
     22            chunk 1 text run 1 at (150.00,150.00) startOffset 0 endOffset 16 width 260.00: "circle turns red"
    2323        RenderSVGText {text} at (150,230) size 283x44 contains 1 chunk(s)
    2424          RenderSVGInlineText {#text} at (0,-36) size 283x44
    25             chunk 1 text run 1 at (150.00,230.00) startOffset 0 endOffset 18 width 234.00: "             Point"
     25            chunk 1 text run 1 at (150.00,230.00) startOffset 0 endOffset 18 width 283.00: "Pointer in circle,"
    2626        RenderSVGText {text} at (150,270) size 278x44 contains 1 chunk(s)
    2727          RenderSVGInlineText {#text} at (0,-36) size 278x44
    28             chunk 1 text run 1 at (150.00,270.00) startOffset 0 endOffset 17 width 205.00: "             circ"
     28            chunk 1 text run 1 at (150.00,270.00) startOffset 0 endOffset 17 width 278.00: "circle turns blue"
    2929    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    3030      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt

    r24292 r24916  
    1717        RenderSVGText {text} at (135,110) size 257x44 contains 1 chunk(s)
    1818          RenderSVGInlineText {#text} at (0,-36) size 257x44
    19             chunk 1 text run 1 at (135.00,110.00) startOffset 0 endOffset 16 width 190.00: "             Cli"
     19            chunk 1 text run 1 at (135.00,110.00) startOffset 0 endOffset 16 width 257.00: "Click on circle,"
    2020        RenderSVGText {text} at (135,150) size 260x44 contains 1 chunk(s)
    2121          RenderSVGInlineText {#text} at (0,-36) size 260x44
    22             chunk 1 text run 1 at (135.00,150.00) startOffset 0 endOffset 16 width 185.00: "             cir"
     22            chunk 1 text run 1 at (135.00,150.00) startOffset 0 endOffset 16 width 260.00: "circle turns red"
    2323        RenderSVGText {text} at (135,230) size 257x44 contains 1 chunk(s)
    2424          RenderSVGInlineText {#text} at (0,-36) size 257x44
    25             chunk 1 text run 1 at (135.00,230.00) startOffset 0 endOffset 16 width 190.00: "             Cli"
     25            chunk 1 text run 1 at (135.00,230.00) startOffset 0 endOffset 16 width 257.00: "Click on circle,"
    2626        RenderSVGText {text} at (135,270) size 159x44 contains 1 chunk(s)
    2727          RenderSVGInlineText {#text} at (0,-36) size 159x44
    28             chunk 1 text run 1 at (135.00,270.00) startOffset 0 endOffset 9 width 99.00: "         "
     28            chunk 1 text run 1 at (135.00,270.00) startOffset 0 endOffset 9 width 159.00: "hyperlink"
    2929    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    3030      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt

    r24292 r24916  
    1414          RenderSVGText {text} at (20,90) size 415x44 contains 1 chunk(s)
    1515            RenderSVGInlineText {#text} at (0,-36) size 415x44
    16               chunk 1 text run 1 at (20.00,90.00) startOffset 0 endOffset 25 width 346.00: "             String turns"
     16              chunk 1 text run 1 at (20.00,90.00) startOffset 0 endOffset 25 width 415.00: "String turns red on click"
    1717          RenderSVGContainer {g} at (20,124) size 387x83
    1818            RenderSVGText {text} at (60,160) size 338x44 contains 1 chunk(s)
    1919              RenderSVGInlineText {#text} at (0,-36) size 338x44
    20                 chunk 1 text run 1 at (60.00,160.00) startOffset 0 endOffset 20 width 247.00: "               Strin"
     20                chunk 1 text run 1 at (60.00,160.00) startOffset 0 endOffset 20 width 338.00: "String hyperlinks to"
    2121            RenderSVGText {text} at (20,200) size 387x37 contains 1 chunk(s)
    2222              RenderSVGInlineText {#text} at (0,-30) size 387x37
    23                 chunk 1 text run 1 at (20.00,200.00) startOffset 0 endOffset 27 width 291.00: "                interact-or"
     23                chunk 1 text run 1 at (20.00,200.00) startOffset 0 endOffset 27 width 387.00: "interact-order-03b-targ.svg"
    2424          RenderSVGText {text} at (30,270) size 442x44 contains 1 chunk(s)
    2525            RenderSVGInlineText {#text} at (0,-36) size 442x44
    26               chunk 1 text run 1 at (30.00,270.00) startOffset 0 endOffset 27 width 362.00: "             All strings ar"
     26              chunk 1 text run 1 at (30.00,270.00) startOffset 0 endOffset 27 width 442.00: "All strings are selectable."
    2727    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    2828      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt

    r24292 r24916  
    77        RenderSVGInlineText {#text} at (0,-11) size 167x14
    88          chunk 1 text run 1 at (90.00,16.00) startOffset 0 endOffset 26 width 116.00: "xlink 'show' attribute on "
     9          chunk 1 text run 2 at (206.00,16.00) startOffset 0 endOffset 12 width 51.00: "'a' element."
    910      RenderSVGContainer {g} at (44.50,26.96) size 146.30x254.08 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-120.00,0.00)}]
    1011        RenderSVGContainer {a} at (44.50,26.96) size 146.30x74.08
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt

    r24292 r24916  
    66      RenderSVGText {text} at (140,20) size 186x18 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-14) size 186x18
    8           chunk 1 text run 1 at (140.00,20.00) startOffset 0 endOffset 25 width 181.00: "   Event and DOM Access T"
     8          chunk 1 text run 1 at (140.00,20.00) startOffset 0 endOffset 25 width 186.00: "Event and DOM Access Test"
    99      RenderSVGContainer {g} at (60,136) size 296x44
    1010        RenderSVGContainer {g} at (60,136) size 103x44
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt

    r24292 r24916  
    66      RenderSVGText {text} at (100,40) size 258x28 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-22) size 258x28
    8           chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 254.00: "   Mouse event handlers te"
     8          chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 258.00: "Mouse event handlers test."
    99      RenderSVGContainer {g} at (20,61) size 399x109.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
    1010        RenderSVGText {text} at (-40,-50) size 84x37 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt

    r24292 r24916  
    66      RenderSVGText {text} at (100,40) size 258x28 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-22) size 258x28
    8           chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 254.00: "   Mouse event handlers te"
     8          chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 258.00: "Mouse event handlers test."
    99      RenderSVGContainer {g} at (20,61) size 399x109.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
    1010        RenderSVGText {text} at (-40,-50) size 84x37 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt

    r24292 r24916  
    66      RenderSVGText {text} at (100,40) size 258x28 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-22) size 258x28
    8           chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 254.00: "   Mouse event handlers te"
     8          chunk 1 text run 1 at (100.00,40.00) startOffset 0 endOffset 26 width 258.00: "Mouse event handlers test."
    99      RenderSVGContainer {g} at (20,61) size 399x109.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,140.00)}]
    1010        RenderSVGText {text} at (-40,-50) size 84x37 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt

    r24292 r24916  
    1515      RenderSVGText {text} at (90,130) size 178x18 contains 1 chunk(s) [color=#808080]
    1616        RenderSVGInlineText {#text} at (0,-14) size 178x18
    17           chunk 1 text run 1 at (90.00,130.00) startOffset 0 endOffset 24 width 164.00: "    A hexadecimal (&#x41"
     17          chunk 1 text run 1 at (90.00,130.00) startOffset 0 endOffset 24 width 178.00: "A hexadecimal (&#x41)= A"
    1818      RenderSVGText {text} at (90,160) size 140x18 contains 1 chunk(s) [color=#808080]
    1919        RenderSVGInlineText {#text} at (0,-14) size 140x18
    20           chunk 1 text run 1 at (90.00,160.00) startOffset 0 endOffset 10 width 58.00: "    A deci"
     20          chunk 1 text run 1 at (90.00,160.00) startOffset 0 endOffset 10 width 69.00: "A decimal "
     21          chunk 1 text run 2 at (159.00,160.00) startOffset 0 endOffset 9 width 71.00: "(&#65)= A"
    2122      RenderSVGText {text} at (30,200) size 110x18 contains 1 chunk(s)
    2223        RenderSVGInlineText {#text} at (0,-14) size 110x18
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt

    r24292 r24916  
    1212        RenderSVGInlineText {#text} at (0,-14) size 434x17
    1313          chunk 1 text run 1 at (40.00,36.00) startOffset 0 endOffset 11 width 72.00: "This tests "
     14          chunk 1 text run 2 at (112.00,36.00) startOffset 0 endOffset 54 width 362.00: "element (GI) selectors: <rect /> and the selector rect"
    1415      RenderSVGContainer {g} at (130,70) size 260x60
    1516        RenderPath {circle} at (130,70) size 60x60 [fill={[type=SOLID] [color=#008000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
     
    2324          RenderSVGInlineText {#text} at (0,-14) size 368x17
    2425            chunk 1 text run 1 at (40.00,36.00) startOffset 0 endOffset 11 width 72.00: "This tests "
     26            chunk 1 text run 2 at (112.00,36.00) startOffset 0 endOffset 43 width 296.00: "class selectors: <circle class=\"warning\" />"
    2527        RenderSVGText {text} at (40,58) size 178x17 contains 1 chunk(s)
    2628          RenderSVGInlineText {#text} at (0,-14) size 178x17
    27             chunk 1 text run 1 at (40.00,58.00) startOffset 0 endOffset 25 width 163.00: "    and the selector .war"
     29            chunk 1 text run 1 at (40.00,58.00) startOffset 0 endOffset 25 width 178.00: "and the selector .warning"
    2830        RenderSVGContainer {g} at (130,220) size 260x60
    2931          RenderPath {circle} at (130,220) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt

    r24292 r24916  
    1111        RenderSVGInlineText {#text} at (0,-14) size 338x17
    1212          chunk 1 text run 1 at (40.00,36.00) startOffset 0 endOffset 11 width 72.00: "This tests "
     13          chunk 1 text run 2 at (112.00,36.00) startOffset 0 endOffset 38 width 266.00: "ancestor selectors and child selectors"
    1314      RenderSVGContainer {g} at (130,70) size 260x60
    1415        RenderPath {rect} at (220,80) size 60x40 [fill={[type=SOLID] [color=#FF0000]}] [data="M220.00,80.00L280.00,80.00L280.00,120.00L220.00,120.00"]
     
    2324          RenderSVGInlineText {#text} at (0,-14) size 434x17
    2425            chunk 1 text run 1 at (40.00,36.00) startOffset 0 endOffset 11 width 72.00: "This tests "
     26            chunk 1 text run 2 at (112.00,36.00) startOffset 0 endOffset 53 width 362.00: "ancestor, immediate-sibling and first-child selectors"
    2527        RenderSVGContainer {g} at (130,220) size 260x60
    2628          RenderPath {circle} at (130,220) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M190.00,100.00L189.94,101.88L189.76,103.76L189.47,105.62L189.06,107.46L188.53,109.27L187.89,111.04L187.14,112.77L186.29,114.45L185.33,116.07L184.27,117.63L183.12,119.12L181.87,120.54L180.54,121.87L179.12,123.12L177.63,124.27L176.07,125.33L174.45,126.29L172.77,127.14L171.04,127.89L169.27,128.53L167.46,129.06L165.62,129.47L163.76,129.76L161.88,129.94L160.00,130.00L158.12,129.94L156.24,129.76L154.38,129.47L152.54,129.06L150.73,128.53L148.96,127.89L147.23,127.14L145.55,126.29L143.93,125.33L142.37,124.27L140.88,123.12L139.46,121.87L138.13,120.54L136.88,119.12L135.73,117.63L134.67,116.07L133.71,114.45L132.86,112.77L132.11,111.04L131.47,109.27L130.94,107.46L130.53,105.62L130.24,103.76L130.06,101.88L130.00,100.00L130.06,98.12L130.24,96.24L130.53,94.38L130.94,92.54L131.47,90.73L132.11,88.96L132.86,87.23L133.71,85.55L134.67,83.93L135.73,82.37L136.88,80.88L138.13,79.46L139.46,78.13L140.88,76.88L142.37,75.73L143.93,74.67L145.55,73.71L147.23,72.86L148.96,72.11L150.73,71.47L152.54,70.94L154.38,70.53L156.24,70.24L158.12,70.06L160.00,70.00L161.88,70.06L163.76,70.24L165.62,70.53L167.46,70.94L169.27,71.47L171.04,72.11L172.77,72.86L174.45,73.71L176.07,74.67L177.63,75.73L179.12,76.88L180.54,78.13L181.87,79.46L183.12,80.88L184.27,82.37L185.33,83.93L186.29,85.55L187.14,87.23L187.89,88.96L188.53,90.73L189.06,92.54L189.47,94.38L189.76,96.24L189.94,98.12"]
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt

    r24292 r24916  
    22  RenderView at (0,0) size 480x360
    33layer at (0,0) size 480x360
    4   RenderSVGRoot {svg} at (0.50,0.50) size 593.50x359
    5     RenderSVGContainer {g} at (48,52) size 546x196
    6       RenderSVGText {text} at (119,80) size 458x36 contains 1 chunk(s)
    7         RenderSVGInlineText {#text} at (0,-28) size 458x36
     4  RenderSVGRoot {svg} at (0.50,0.50) size 589.50x359
     5    RenderSVGContainer {g} at (48,52) size 542x196
     6      RenderSVGText {text} at (119,80) size 455x36 contains 1 chunk(s)
     7        RenderSVGInlineText {#text} at (0,-28) size 455x36
    88          chunk 1 (end anchor) text run 1 at (119.00,80.00) startOffset 0 endOffset 37 width 341.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    9       RenderSVGText {text} at (48,160) size 546x41 contains 1 chunk(s)
    10         RenderSVGInlineText {#text} at (0,-32) size 546x41
     9      RenderSVGText {text} at (48,160) size 542x41 contains 1 chunk(s)
     10        RenderSVGInlineText {#text} at (0,-32) size 542x41
    1111          chunk 1 (end anchor) text run 1 at (48.00,160.00) startOffset 0 endOffset 37 width 412.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    12       RenderSVGText {text} at (119,240) size 458x36 contains 1 chunk(s)
    13         RenderSVGInlineText {#text} at (0,-28) size 458x36
     12      RenderSVGText {text} at (119,240) size 455x36 contains 1 chunk(s)
     13        RenderSVGInlineText {#text} at (0,-28) size 455x36
    1414          chunk 1 (end anchor) text run 1 at (119.00,240.00) startOffset 0 endOffset 37 width 341.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    1515    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt

    r24292 r24916  
    77        RenderSVGText {text} at (3,8) size 52x9 contains 1 chunk(s)
    88          RenderSVGInlineText {#text} at (0,-7) size 52x9
    9             chunk 1 text run 1 at (3.00,8.00) startOffset 0 endOffset 16 width 50.00: " letter-spacing:"
     9            chunk 1 text run 1 at (3.00,8.00) startOffset 0 endOffset 16 width 52.00: "letter-spacing:0"
    1010        RenderSVGText {text} at (3,16) size 38x9 contains 1 chunk(s)
    1111          RenderSVGInlineText {#text} at (0,-7) size 38x9
  • branches/feature-branch/LayoutTests/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt

    r24292 r24916  
    1111        RenderSVGText {text} at (10,128) size 403x55 contains 1 chunk(s)
    1212          RenderSVGInlineText {#text} at (0,-43) size 403x55
    13             chunk 1 text run 1 at (10.00,128.00) startOffset 0 endOffset 4 width 57.00: "   a"
     13            chunk 1 text run 1 at (10.00,128.00) startOffset 0 endOffset 4 width 78.00: "abc "
     14            chunk 1 text run 2 at (88.00,128.00) startOffset 0 endOffset 4 width 86.00 RTL: " \x{5D3}\x{5D4}\x{5D5}"
     15            chunk 1 text run 3 at (176.00,128.00) startOffset 0 endOffset 3 width 72.00: "123"
     16            chunk 1 text run 4 at (248.00,128.00) startOffset 0 endOffset 4 width 91.00 RTL: "\x{5D0}\x{5D1}\x{5D2} "
     17            chunk 1 text run 5 at (340.00,128.00) startOffset 0 endOffset 4 width 73.00: " def"
    1418        RenderSVGContainer {g} at (10,220) size 430x20
    1519          RenderPath {rect} at (10,220) size 100x20 [fill={[type=SOLID] [color=#0000FF]}] [data="M10.00,160.00L110.00,160.00L110.00,180.00L10.00,180.00"]
  • branches/feature-branch/LayoutTests/svg/batik/text/longTextOnPath-expected.txt

    r24772 r24916  
    1717          RenderSVGInlineText {#text} at (0,-18) size 406x263
    1818            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."
    1922        RenderSVGInlineText {#text} at (0,0) size 0x0
    2023    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textAnchor-expected.checksum

    r21607 r24916  
    1 5ae7a4f3ba6aa851936b940fe629c2bb
     129972ef68534a9eb7d763868059a70dd
  • branches/feature-branch/LayoutTests/svg/batik/text/textAnchor-expected.txt

    r24292 r24916  
    22  RenderView at (0,0) size 800x600
    33layer at (0,0) size 450x500
    4   RenderSVGRoot {svg} at (51,26) size 343.12x431.88
     4  RenderSVGRoot {svg} at (48,26) size 346.12x431.88
    55    RenderSVGText {text} at (144,40) size 162x17 contains 1 chunk(s)
    66      RenderSVGInlineText {#text} at (0,-14) size 162x17
    77        chunk 1 (middle anchor) text run 1 at (144.00,40.00) startOffset 0 endOffset 22 width 162.00: "text-anchor on <tspan>"
    8     RenderSVGContainer {g} at (51,82.12) size 343.12x375.75 [transform={m=((0.75,0.00)(0.00,0.75)) t=(56.25,82.50)}]
     8    RenderSVGContainer {g} at (48,82.12) size 346.12x375.75 [transform={m=((0.75,0.00)(0.00,0.75)) t=(56.25,82.50)}]
    99      RenderSVGContainer {g} at (55.88,82.12) size 338.25x375.75
    1010        RenderPath {rect} at (56.25,82.50) size 337.50x125.25 [opacity=0.10] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L450.00,0.00L450.00,167.00L0.00,167.00"]
     
    1414        RenderPath {line} at (295.88,82.50) size 0.75x375 [stroke={[type=SOLID] [color=#FF0000]}] [data="M320.00,0.00L320.00,500.00"]
    1515        RenderPath {rect} at (55.88,82.12) size 338.25x375.75 [stroke={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L450.00,0.00L450.00,500.00L0.00,500.00"]
    16       RenderSVGContainer {g} at (51,94.50) size 333x88.50
     16      RenderSVGContainer {g} at (48,94.50) size 336x88.50
    1717        RenderSVGContainer {g} at (168.75,94.50) size 215.25x28.50
    1818          RenderSVGText {text} at (150,30) size 287x38 contains 2 chunk(s)
     
    2424            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    2525              RenderSVGInlineText {#text} at (55,6) size 102x18
    26                 chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     26                chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    2727            RenderSVGInlineText {#text} at (157,6) size 4x18
    2828              chunk 1 text run 4 at (307.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     
    3131                chunk 2 text run 1 at (320.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    3232            RenderSVGInlineText {#text} at (0,0) size 0x0
    33         RenderSVGContainer {g} at (109.50,124.50) size 274.50x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
    34           RenderSVGText {text} at (71,30) size 366x38 contains 2 chunk(s)
     33        RenderSVGContainer {g} at (108,124.50) size 276x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
     34          RenderSVGText {text} at (69,30) size 368x38 contains 2 chunk(s)
    3535            RenderSVGTSpan {tspan} at (0,0) size 51x18
    3636              RenderSVGInlineText {#text} at (0,6) size 51x18
    37                 chunk 1 (middle anchor) text run 1 at (71.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     37                chunk 1 (middle anchor) text run 1 at (69.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    3838            RenderSVGInlineText {#text} at (51,6) size 4x18
    39               chunk 1 (middle anchor) text run 2 at (122.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     39              chunk 1 (middle anchor) text run 2 at (120.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    4040            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    4141              RenderSVGInlineText {#text} at (55,6) size 102x18
    42                 chunk 1 (middle anchor) text run 3 at (126.50,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     42                chunk 1 (middle anchor) text run 3 at (124.50,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    4343            RenderSVGInlineText {#text} at (157,6) size 4x18
    44               chunk 1 (middle anchor) text run 4 at (228.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     44              chunk 1 (middle anchor) text run 4 at (226.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    4545            RenderSVGTSpan {tspan} at (0,0) size 117x18
    46               RenderSVGInlineText {#text} at (249,-14) size 117x18
     46              RenderSVGInlineText {#text} at (251,-14) size 117x18
    4747                chunk 2 text run 1 at (320.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    4848            RenderSVGInlineText {#text} at (0,0) size 0x0
    49         RenderSVGContainer {g} at (51,154.50) size 333x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
    50           RenderSVGText {text} at (-7,30) size 444x38 contains 2 chunk(s)
     49        RenderSVGContainer {g} at (48,154.50) size 336x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
     50          RenderSVGText {text} at (-11,30) size 448x38 contains 2 chunk(s)
    5151            RenderSVGTSpan {tspan} at (0,0) size 51x18
    5252              RenderSVGInlineText {#text} at (0,6) size 51x18
    53                 chunk 1 (end anchor) text run 1 at (-7.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     53                chunk 1 (end anchor) text run 1 at (-11.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    5454            RenderSVGInlineText {#text} at (51,6) size 4x18
    55               chunk 1 (end anchor) text run 2 at (44.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     55              chunk 1 (end anchor) text run 2 at (40.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    5656            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    5757              RenderSVGInlineText {#text} at (55,6) size 102x18
    58                 chunk 1 (end anchor) text run 3 at (48.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     58                chunk 1 (end anchor) text run 3 at (44.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    5959            RenderSVGInlineText {#text} at (157,6) size 4x18
    60               chunk 1 (end anchor) text run 4 at (150.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     60              chunk 1 (end anchor) text run 4 at (146.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    6161            RenderSVGTSpan {tspan} at (0,0) size 117x18
    62               RenderSVGInlineText {#text} at (327,-14) size 117x18
     62              RenderSVGInlineText {#text} at (331,-14) size 117x18
    6363                chunk 2 text run 1 at (320.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    6464            RenderSVGInlineText {#text} at (0,0) size 0x0
    65       RenderSVGContainer {g} at (51,222) size 288.75x88.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
     65      RenderSVGContainer {g} at (48,222) size 291.75x88.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
    6666        RenderSVGContainer {g} at (168.75,222) size 171x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
    6767          RenderSVGText {text} at (150,30) size 228x38 contains 2 chunk(s)
     
    7373            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    7474              RenderSVGInlineText {#text} at (55,6) size 102x18
    75                 chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     75                chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    7676            RenderSVGInlineText {#text} at (157,6) size 4x18
    7777              chunk 1 text run 4 at (307.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     
    8080                chunk 2 (middle anchor) text run 1 at (261.50,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    8181            RenderSVGInlineText {#text} at (0,0) size 0x0
    82         RenderSVGContainer {g} at (109.50,252) size 230.25x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
    83           RenderSVGText {text} at (71,30) size 307x38 contains 2 chunk(s)
     82        RenderSVGContainer {g} at (108,252) size 231.75x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
     83          RenderSVGText {text} at (69,30) size 309x38 contains 2 chunk(s)
    8484            RenderSVGTSpan {tspan} at (0,0) size 51x18
    8585              RenderSVGInlineText {#text} at (0,6) size 51x18
    86                 chunk 1 (middle anchor) text run 1 at (71.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     86                chunk 1 (middle anchor) text run 1 at (69.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    8787            RenderSVGInlineText {#text} at (51,6) size 4x18
    88               chunk 1 (middle anchor) text run 2 at (122.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     88              chunk 1 (middle anchor) text run 2 at (120.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    8989            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    9090              RenderSVGInlineText {#text} at (55,6) size 102x18
    91                 chunk 1 (middle anchor) text run 3 at (126.50,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     91                chunk 1 (middle anchor) text run 3 at (124.50,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    9292            RenderSVGInlineText {#text} at (157,6) size 4x18
    93               chunk 1 (middle anchor) text run 4 at (228.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     93              chunk 1 (middle anchor) text run 4 at (226.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    9494            RenderSVGTSpan {tspan} at (0,0) size 117x18
    95               RenderSVGInlineText {#text} at (190,-14) size 117x18
     95              RenderSVGInlineText {#text} at (192,-14) size 117x18
    9696                chunk 2 (middle anchor) text run 1 at (261.50,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    9797            RenderSVGInlineText {#text} at (0,0) size 0x0
    98         RenderSVGContainer {g} at (51,282) size 288.75x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,200.00)}]
    99           RenderSVGText {text} at (-7,30) size 385x38 contains 2 chunk(s)
     98        RenderSVGContainer {g} at (48,282) size 291.75x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,200.00)}]
     99          RenderSVGText {text} at (-11,30) size 389x38 contains 2 chunk(s)
    100100            RenderSVGTSpan {tspan} at (0,0) size 51x18
    101101              RenderSVGInlineText {#text} at (0,6) size 51x18
    102                 chunk 1 (end anchor) text run 1 at (-7.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     102                chunk 1 (end anchor) text run 1 at (-11.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    103103            RenderSVGInlineText {#text} at (51,6) size 4x18
    104               chunk 1 (end anchor) text run 2 at (44.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     104              chunk 1 (end anchor) text run 2 at (40.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    105105            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    106106              RenderSVGInlineText {#text} at (55,6) size 102x18
    107                 chunk 1 (end anchor) text run 3 at (48.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     107                chunk 1 (end anchor) text run 3 at (44.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    108108            RenderSVGInlineText {#text} at (157,6) size 4x18
    109               chunk 1 (end anchor) text run 4 at (150.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     109              chunk 1 (end anchor) text run 4 at (146.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    110110            RenderSVGTSpan {tspan} at (0,0) size 117x18
    111               RenderSVGInlineText {#text} at (268,-14) size 117x18
     111              RenderSVGInlineText {#text} at (272,-14) size 117x18
    112112                chunk 2 (middle anchor) text run 1 at (261.50,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    113113            RenderSVGInlineText {#text} at (0,0) size 0x0
    114       RenderSVGContainer {g} at (51,349.50) size 245.25x88.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
     114      RenderSVGContainer {g} at (48,349.50) size 248.25x88.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
    115115        RenderSVGContainer {g} at (168.75,349.50) size 127.50x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,260.00)}]
    116116          RenderSVGText {text} at (150,30) size 170x38 contains 2 chunk(s)
     
    122122            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    123123              RenderSVGInlineText {#text} at (55,6) size 102x18
    124                 chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     124                chunk 1 text run 3 at (205.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    125125            RenderSVGInlineText {#text} at (157,6) size 4x18
    126126              chunk 1 text run 4 at (307.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     
    129129                chunk 2 (end anchor) text run 1 at (203.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    130130            RenderSVGInlineText {#text} at (0,0) size 0x0
    131         RenderSVGContainer {g} at (109.50,379.50) size 186.75x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,300.00)}]
    132           RenderSVGText {text} at (71,30) size 249x38 contains 2 chunk(s)
     131        RenderSVGContainer {g} at (108,379.50) size 188.25x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,300.00)}]
     132          RenderSVGText {text} at (69,30) size 251x38 contains 2 chunk(s)
    133133            RenderSVGTSpan {tspan} at (0,0) size 51x18
    134134              RenderSVGInlineText {#text} at (0,6) size 51x18
    135                 chunk 1 (middle anchor) text run 1 at (71.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     135                chunk 1 (middle anchor) text run 1 at (69.50,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    136136            RenderSVGInlineText {#text} at (51,6) size 4x18
    137               chunk 1 (middle anchor) text run 2 at (122.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     137              chunk 1 (middle anchor) text run 2 at (120.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    138138            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    139139              RenderSVGInlineText {#text} at (55,6) size 102x18
    140                 chunk 1 (middle anchor) text run 3 at (126.50,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     140                chunk 1 (middle anchor) text run 3 at (124.50,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    141141            RenderSVGInlineText {#text} at (157,6) size 4x18
    142               chunk 1 (middle anchor) text run 4 at (228.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
     142              chunk 1 (middle anchor) text run 4 at (226.50,50.00) startOffset 0 endOffset 1 width 4.00: " "
    143143            RenderSVGTSpan {tspan} at (0,0) size 117x18
    144               RenderSVGInlineText {#text} at (132,-14) size 117x18
     144              RenderSVGInlineText {#text} at (134,-14) size 117x18
    145145                chunk 2 (end anchor) text run 1 at (203.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    146146            RenderSVGInlineText {#text} at (0,0) size 0x0
    147         RenderSVGContainer {g} at (51,409.50) size 245.25x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,340.00)}]
    148           RenderSVGText {text} at (-7,30) size 327x38 contains 2 chunk(s)
     147        RenderSVGContainer {g} at (48,409.50) size 248.25x28.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,340.00)}]
     148          RenderSVGText {text} at (-11,30) size 331x38 contains 2 chunk(s)
    149149            RenderSVGTSpan {tspan} at (0,0) size 51x18
    150150              RenderSVGInlineText {#text} at (0,6) size 51x18
    151                 chunk 1 (end anchor) text run 1 at (-7.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
     151                chunk 1 (end anchor) text run 1 at (-11.00,50.00) startOffset 0 endOffset 8 width 51.00: "I am the"
    152152            RenderSVGInlineText {#text} at (51,6) size 4x18
    153               chunk 1 (end anchor) text run 2 at (44.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     153              chunk 1 (end anchor) text run 2 at (40.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    154154            RenderSVGTSpan {tspan} at (0,0) size 102x18 [color=#FF0000]
    155155              RenderSVGInlineText {#text} at (55,6) size 102x18
    156                 chunk 1 (end anchor) text run 3 at (48.00,50.00) startOffset 0 endOffset 15 width 98.00: " same text chun"
     156                chunk 1 (end anchor) text run 3 at (44.00,50.00) startOffset 0 endOffset 15 width 102.00: "same text chunk"
    157157            RenderSVGInlineText {#text} at (157,6) size 4x18
    158               chunk 1 (end anchor) text run 4 at (150.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
     158              chunk 1 (end anchor) text run 4 at (146.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    159159            RenderSVGTSpan {tspan} at (0,0) size 117x18
    160               RenderSVGInlineText {#text} at (210,-14) size 117x18
     160              RenderSVGInlineText {#text} at (214,-14) size 117x18
    161161                chunk 2 (end anchor) text run 1 at (203.00,30.00) startOffset 0 endOffset 18 width 117.00: "another text chunk"
    162162            RenderSVGInlineText {#text} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textBiDi-expected.checksum

    r21607 r24916  
    1 e7abe876a73123b10646e9294c628063
     1b893044d459ee07c1e61c044065d3701
  • branches/feature-branch/LayoutTests/svg/batik/text/textBiDi-expected.txt

    r24292 r24916  
    22  RenderView at (0,0) size 800x600
    33layer at (0,0) size 450x500
    4   RenderSVGRoot {svg} at (45,36) size 356x368
    5     RenderSVGContainer {g} at (45,36) size 356x368
    6       RenderSVGText {text} at (146,50) size 184x17 contains 1 chunk(s)
     4  RenderSVGRoot {svg} at (45,36) size 343x368
     5    RenderSVGContainer {g} at (45,36) size 343x368
     6      RenderSVGText {text} at (133,50) size 184x17 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-14) size 184x17
    8           chunk 1 (middle anchor) text run 1 at (146.50,50.00) startOffset 0 endOffset 30 width 157.00: "            BiDi Text / Intern"
     8          chunk 1 (middle anchor) text run 1 at (133.00,50.00) startOffset 0 endOffset 30 width 184.00: "BiDi Text / International Text"
    99      RenderSVGText {text} at (67,125) size 315x15 contains 1 chunk(s)
    1010        RenderSVGInlineText {#text} at (0,-12) size 85x15
     
    2020        RenderSVGTSpan {tspan} at (0,0) size 89x15 [color=#8B0000]
    2121          RenderSVGInlineText {#text} at (33,-12) size 89x15
    22             chunk 1 (middle anchor) text run 2 at (183.50,150.00) startOffset 0 endOffset 1 width 4.00 RTL: "("
     22            chunk 1 (middle anchor) text run 2 at (183.50,150.00) startOffset 0 endOffset 1 width 4.00 RTL: ")"
     23            chunk 1 (middle anchor) text run 3 at (187.50,150.00) startOffset 0 endOffset 13 width 81.00: "embedded bidi"
     24            chunk 1 (middle anchor) text run 4 at (268.50,150.00) startOffset 0 endOffset 1 width 4.00 RTL: "("
    2325        RenderSVGInlineText {#text} at (122,-12) size 27x15
    2426          chunk 1 (middle anchor) text run 5 at (272.50,150.00) startOffset 0 endOffset 6 width 27.00: " text."
    25       RenderSVGText {text} at (74,175) size 327x13 contains 1 chunk(s)
     27      RenderSVGText {text} at (61,175) size 327x13 contains 1 chunk(s)
    2628        RenderSVGInlineText {#text} at (0,-10) size 327x13
    27           chunk 1 (middle anchor) text run 1 at (74.50,175.00) startOffset 0 endOffset 45 width 164.00: "               Text selection allows visually"
    28       RenderSVGContainer {g} at (45,212) size 311x192
     29          chunk 1 (middle anchor) text run 1 at (61.50,175.00) startOffset 0 endOffset 45 width 181.00: "Text selection allows visually discontiguous "
     30          chunk 1 (middle anchor) text run 2 at (242.50,175.00) startOffset 0 endOffset 38 width 146.00: "selections across bi-directional text."
     31      RenderSVGContainer {g} at (45,212) size 314x192
    2932        RenderSVGText {text} at (45,225) size 296x17 contains 1 chunk(s) [color=#191970]
    3033          RenderSVGInlineText {#text} at (0,-13) size 296x17
    3134            chunk 1 text run 1 at (45.00,225.00) startOffset 0 endOffset 7 width 35.00: "latin: "
     35            chunk 1 text run 2 at (80.00,225.00) startOffset 0 endOffset 8 width 74.00: "ABCDEFG "
     36            chunk 1 text run 3 at (154.00,225.00) startOffset 0 endOffset 26 width 187.00: "abcdefghijklmnopqrstuvwxyz"
    3237        RenderSVGText {text} at (45,250) size 198x17 contains 1 chunk(s) [color=#A0522D]
    3338          RenderSVGInlineText {#text} at (0,-13) size 198x17
    3439            chunk 1 text run 1 at (45.00,250.00) startOffset 0 endOffset 16 width 97.00: "latin-extended: "
     40            chunk 1 text run 2 at (142.00,250.00) startOffset 0 endOffset 15 width 101.00: "\x{E6}\x{E7}\x{E8}\x{E9}\x{EA}\x{EB}\x{EC}\x{ED}\x{EE}\x{EF}\x{F0}\x{F1}\x{F2}\x{F3}\x{F4}"
    3541        RenderSVGText {text} at (45,275) size 291x17 contains 1 chunk(s) [color=#4B0082]
    3642          RenderSVGInlineText {#text} at (0,-13) size 291x17
    3743            chunk 1 text run 1 at (45.00,275.00) startOffset 0 endOffset 10 width 51.00: "cyrillic: "
     44            chunk 1 text run 2 at (96.00,275.00) startOffset 0 endOffset 23 width 240.00: "\x{411}\x{412}\x{413}\x{414}\x{415}\x{416}\x{417}\x{418}\x{419}\x{41A}\x{41B}\x{41C}\x{41D}\x{41E}\x{41F}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}"
    3845        RenderSVGText {text} at (45,300) size 293x17 contains 1 chunk(s) [color=#800000]
    3946          RenderSVGInlineText {#text} at (0,-13) size 293x17
    4047            chunk 1 text run 1 at (45.00,300.00) startOffset 0 endOffset 7 width 43.00: "greek: "
    41         RenderSVGText {text} at (45,325) size 289x17 contains 1 chunk(s) [color=#556B2F]
    42           RenderSVGInlineText {#text} at (0,-13) size 289x17
     48            chunk 1 text run 2 at (88.00,300.00) startOffset 0 endOffset 30 width 250.00: "\x{391}\x{392}\x{393}\x{394} \x{3B1}\x{3B2}\x{3B3}\x{3B4}\x{3B5}\x{3B6}\x{3B7}\x{3B8}\x{3B9}\x{3BA}\x{3BB}\x{3BC}\x{3BD}\x{3BE}\x{3BF}\x{3C0}\x{3C1}\x{3C2}\x{3C3}\x{3C4}\x{3C5}\x{3C6}\x{3C7}\x{3C8}\x{3C9}"
     49        RenderSVGText {text} at (45,325) size 290x17 contains 1 chunk(s) [color=#556B2F]
     50          RenderSVGInlineText {#text} at (0,-13) size 290x17
    4351            chunk 1 text run 1 at (45.00,325.00) startOffset 0 endOffset 8 width 54.00: "hebrew: "
    44         RenderSVGText {text} at (45,350) size 235x17 contains 1 chunk(s) [color=#556B2F]
    45           RenderSVGInlineText {#text} at (0,-13) size 235x17
     52            chunk 1 text run 2 at (99.00,325.00) startOffset 0 endOffset 27 width 225.00 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DA}\x{5DB}\x{5DC}\x{5DD}\x{5DE}\x{5DF}\x{5E0}\x{5E1}\x{5E2}\x{5E3}\x{5E4}\x{5E5}\x{5E6}\x{5E7}\x{5E8}\x{5E9}\x{5EA}"
     53        RenderSVGText {text} at (45,350) size 236x17 contains 1 chunk(s) [color=#556B2F]
     54          RenderSVGInlineText {#text} at (0,-13) size 236x17
    4655            chunk 1 text run 1 at (45.00,350.00) startOffset 0 endOffset 27 width 225.00 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DA}\x{5DB}\x{5DC}\x{5DD}\x{5DE}\x{5DF}\x{5E0}\x{5E1}\x{5E2}\x{5E3}\x{5E4}\x{5E5}\x{5E6}\x{5E7}\x{5E8}\x{5E9}\x{5EA}"
    47         RenderSVGText {text} at (45,375) size 311x17 contains 1 chunk(s) [color=#8B0000]
    48           RenderSVGInlineText {#text} at (0,-13) size 311x17
     56        RenderSVGText {text} at (45,375) size 314x17 contains 1 chunk(s) [color=#8B0000]
     57          RenderSVGInlineText {#text} at (0,-13) size 314x17
    4958            chunk 1 text run 1 at (45.00,375.00) startOffset 0 endOffset 8 width 46.00: "arabic: "
    50         RenderSVGText {text} at (45,400) size 265x17 contains 1 chunk(s) [color=#8B0000]
    51           RenderSVGInlineText {#text} at (0,-13) size 265x17
     59            chunk 1 text run 2 at (91.00,375.00) startOffset 0 endOffset 36 width 216.00 RTL: "\x{621}\x{623}\x{624}\x{625}\x{626}\x{627}\x{628}\x{629}\x{62A}\x{62B}\x{62C}\x{62D}\x{62E}\x{62F}\x{630}\x{631}\x{632}\x{633}\x{634}\x{635}\x{636}\x{637}\x{638}\x{639}\x{640}\x{641}\x{642}\x{643}\x{644}\x{645}\x{646}\x{647}\x{648}\x{649}\x{650}\x{676}"
     60        RenderSVGText {text} at (45,400) size 268x17 contains 1 chunk(s) [color=#8B0000]
     61          RenderSVGInlineText {#text} at (0,-13) size 268x17
    5262            chunk 1 text run 1 at (45.00,400.00) startOffset 0 endOffset 36 width 216.00 RTL: "\x{621}\x{623}\x{624}\x{625}\x{626}\x{627}\x{628}\x{629}\x{62A}\x{62B}\x{62C}\x{62D}\x{62E}\x{62F}\x{630}\x{631}\x{632}\x{633}\x{634}\x{635}\x{636}\x{637}\x{638}\x{639}\x{640}\x{641}\x{642}\x{643}\x{644}\x{645}\x{646}\x{647}\x{648}\x{649}\x{650}\x{676}"
    5363    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect-expected.checksum

    r24605 r24916  
    1 305078038afa3cb9ab1071f4988ff362
     1414479a23d76f6f352114c595149adff
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect-expected.txt

    r24292 r24916  
    55  RenderView at (0,0) size 800x600
    66layer at (0,0) size 450x500
    7   RenderSVGRoot {svg} at (70,16) size 379x387
    8     RenderSVGContainer {g} at (70,16) size 379x387
     7  RenderSVGRoot {svg} at (42,16) size 370x387
     8    RenderSVGContainer {g} at (42,16) size 370x387
    99      RenderSVGText {text} at (136,30) size 177x17 contains 1 chunk(s)
    1010        RenderSVGInlineText {#text} at (0,-14) size 177x17
     
    2222          RenderSVGGradientStop {stop} at (0,0) size 0x0
    2323          RenderSVGGradientStop {stop} at (0,0) size 0x0
    24       RenderSVGText {text} at (72,160) size 152x59 contains 1 chunk(s)
     24      RenderSVGText {text} at (44,160) size 152x59 contains 1 chunk(s)
    2525        RenderSVGInlineText {#text} at (0,-48) size 152x59
    26           chunk 1 (middle anchor) text run 1 at (72.50,160.00) startOffset 0 endOffset 5 width 95.00: "    B"
    27       RenderSVGText {text} at (286,160) size 161x61 contains 1 chunk(s)
     26          chunk 1 (middle anchor) text run 1 at (44.00,160.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
     27      RenderSVGText {text} at (249,160) size 161x61 contains 1 chunk(s)
    2828        RenderSVGInlineText {#text} at (0,-48) size 161x61
    29           chunk 1 (middle anchor) text run 1 at (286.50,160.00) startOffset 0 endOffset 5 width 87.00: "    B"
    30       RenderSVGText {text} at (72,260) size 152x59 contains 1 chunk(s) [color=#FFFFFF]
     29          chunk 1 (middle anchor) text run 1 at (249.50,160.00) startOffset 0 endOffset 5 width 161.00: "BATIK"
     30      RenderSVGText {text} at (44,260) size 152x59 contains 1 chunk(s) [color=#FFFFFF]
    3131        RenderSVGInlineText {#text} at (0,-48) size 152x59
    32           chunk 1 (middle anchor) text run 1 at (72.50,260.00) startOffset 0 endOffset 5 width 95.00: "    B"
    33       RenderSVGText {text} at (286,260) size 161x61 contains 1 chunk(s) [color=#FFFFFF]
     32          chunk 1 (middle anchor) text run 1 at (44.00,260.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
     33      RenderSVGText {text} at (249,260) size 161x61 contains 1 chunk(s) [color=#FFFFFF]
    3434        RenderSVGInlineText {#text} at (0,-48) size 161x61
    35           chunk 1 (middle anchor) text run 1 at (286.50,260.00) startOffset 0 endOffset 5 width 87.00: "    B"
    36       RenderSVGText {text} at (72,360) size 152x59 contains 1 chunk(s) [color=#FF0000]
     35          chunk 1 (middle anchor) text run 1 at (249.50,260.00) startOffset 0 endOffset 5 width 161.00: "BATIK"
     36      RenderSVGText {text} at (44,360) size 152x59 contains 1 chunk(s) [color=#FF0000]
    3737        RenderSVGInlineText {#text} at (0,-48) size 152x59
    38           chunk 1 (middle anchor) text run 1 at (72.50,360.00) startOffset 0 endOffset 5 width 95.00: "    B"
    39       RenderSVGText {text} at (286,360) size 161x61 contains 1 chunk(s) [color=#FF0000]
     38          chunk 1 (middle anchor) text run 1 at (44.00,360.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
     39      RenderSVGText {text} at (249,360) size 161x61 contains 1 chunk(s) [color=#FF0000]
    4040        RenderSVGInlineText {#text} at (0,-48) size 161x61
    41           chunk 1 (middle anchor) text run 1 at (286.50,360.00) startOffset 0 endOffset 5 width 87.00: "    B"
     41          chunk 1 (middle anchor) text run 1 at (249.50,360.00) startOffset 0 endOffset 5 width 161.00: "BATIK"
    4242      RenderSVGText {text} at (87,400) size 65x14 contains 1 chunk(s)
    4343        RenderSVGInlineText {#text} at (0,-11) size 65x14
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect3-expected.checksum

    r24195 r24916  
    1 050a3d2af3a89fd85557d727cc09f071
     1c16e7ef8955cfd27217f81ea9de9722d
  • branches/feature-branch/LayoutTests/svg/batik/text/textEffect3-expected.txt

    r24292 r24916  
    55  RenderView at (0,0) size 800x600
    66layer at (0,0) size 450x500
    7   RenderSVGRoot {svg} at (62,16) size 349x387
    8     RenderSVGContainer {g} at (62,16) size 349x387
     7  RenderSVGRoot {svg} at (52,16) size 348x387
     8    RenderSVGContainer {g} at (52,16) size 348x387
    99      RenderSVGText {text} at (99,30) size 251x17 contains 1 chunk(s)
    1010        RenderSVGInlineText {#text} at (0,-14) size 251x17
     
    2222          RenderSVGGradientStop {stop} at (0,0) size 0x0
    2323          RenderSVGGradientStop {stop} at (0,0) size 0x0
    24       RenderSVGText {text} at (64,140) size 131x79 contains 1 chunk(s)
     24      RenderSVGText {text} at (54,140) size 131x79 contains 1 chunk(s)
    2525        RenderSVGInlineText {#text} at (0,-28) size 35x59
    26           chunk 1 (middle anchor) text run 1 at (64.50,160.00) startOffset 0 endOffset 1 width 15.00: " "
     26          chunk 1 (middle anchor) text run 1 at (54.50,160.00) startOffset 0 endOffset 1 width 35.00: "B"
    2727        RenderSVGTSpan {tspan} at (0,0) size 18x30
    2828          RenderSVGInlineText {#text} at (35,-24) size 18x30
    29             chunk 1 (middle anchor) text run 2 at (99.50,140.00) startOffset 0 endOffset 1 width 18.00: "A"
     29            chunk 1 (middle anchor) text run 2 at (89.50,140.00) startOffset 0 endOffset 1 width 18.00: "A"
    3030        RenderSVGInlineText {#text} at (53,-48) size 32x59
    31           chunk 1 (middle anchor) text run 3 at (117.50,140.00) startOffset 0 endOffset 1 width 32.00: "T"
     31          chunk 1 (middle anchor) text run 3 at (107.50,140.00) startOffset 0 endOffset 1 width 32.00: "T"
    3232        RenderSVGTSpan {tspan} at (0,0) size 11x44
    3333          RenderSVGInlineText {#text} at (85,-36) size 11x44
    34             chunk 1 (middle anchor) text run 4 at (149.50,140.00) startOffset 0 endOffset 1 width 11.00: "I"
     34            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 35x59
    3636          RenderSVGInlineText {#text} at (96,-48) size 35x59
    37             chunk 1 (middle anchor) text run 5 at (160.50,140.00) startOffset 0 endOffset 1 width 35.00: "K"
     37            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 (272,140) size 137x81 contains 1 chunk(s)
     39      RenderSVGText {text} at (261,140) size 137x81 contains 1 chunk(s)
    4040        RenderSVGInlineText {#text} at (0,-28) size 35x61
    41           chunk 1 (middle anchor) text run 1 at (272.50,160.00) startOffset 0 endOffset 1 width 13.00: " "
     41          chunk 1 (middle anchor) text run 1 at (261.50,160.00) startOffset 0 endOffset 1 width 35.00: "B"
    4242        RenderSVGTSpan {tspan} at (0,0) size 19x31
    4343          RenderSVGInlineText {#text} at (35,-24) size 19x31
    44             chunk 1 (middle anchor) text run 2 at (307.50,140.00) startOffset 0 endOffset 1 width 19.00: "A"
     44            chunk 1 (middle anchor) text run 2 at (296.50,140.00) startOffset 0 endOffset 1 width 19.00: "A"
    4545        RenderSVGInlineText {#text} at (54,-48) size 32x61
    46           chunk 1 (middle anchor) text run 3 at (326.50,140.00) startOffset 0 endOffset 1 width 32.00: "T"
     46          chunk 1 (middle anchor) text run 3 at (315.50,140.00) startOffset 0 endOffset 1 width 32.00: "T"
    4747        RenderSVGTSpan {tspan} at (0,0) size 13x46
    4848          RenderSVGInlineText {#text} at (86,-36) size 13x46
    49             chunk 1 (middle anchor) text run 4 at (358.50,140.00) startOffset 0 endOffset 1 width 13.00: "I"
     49            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 38x61
    5151          RenderSVGInlineText {#text} at (99,-48) size 38x61
    52             chunk 1 (middle anchor) text run 5 at (371.50,140.00) startOffset 0 endOffset 1 width 38.00: "K"
     52            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 (64,240) size 131x79 contains 1 chunk(s) [color=#FFFFFF]
     54      RenderSVGText {text} at (54,240) size 131x79 contains 1 chunk(s) [color=#FFFFFF]
    5555        RenderSVGInlineText {#text} at (0,-28) size 35x59
    56           chunk 1 (middle anchor) text run 1 at (64.50,260.00) startOffset 0 endOffset 1 width 15.00: " "
     56          chunk 1 (middle anchor) text run 1 at (54.50,260.00) startOffset 0 endOffset 1 width 35.00: "B"
    5757        RenderSVGTSpan {tspan} at (0,0) size 18x30
    5858          RenderSVGInlineText {#text} at (35,-24) size 18x30
    59             chunk 1 (middle anchor) text run 2 at (99.50,240.00) startOffset 0 endOffset 1 width 18.00: "A"
     59            chunk 1 (middle anchor) text run 2 at (89.50,240.00) startOffset 0 endOffset 1 width 18.00: "A"
    6060        RenderSVGInlineText {#text} at (53,-48) size 32x59
    61           chunk 1 (middle anchor) text run 3 at (117.50,240.00) startOffset 0 endOffset 1 width 32.00: "T"
     61          chunk 1 (middle anchor) text run 3 at (107.50,240.00) startOffset 0 endOffset 1 width 32.00: "T"
    6262        RenderSVGTSpan {tspan} at (0,0) size 11x44
    6363          RenderSVGInlineText {#text} at (85,-36) size 11x44
    64             chunk 1 (middle anchor) text run 4 at (149.50,240.00) startOffset 0 endOffset 1 width 11.00: "I"
     64            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 35x59
    6666          RenderSVGInlineText {#text} at (96,-48) size 35x59
    67             chunk 1 (middle anchor) text run 5 at (160.50,240.00) startOffset 0 endOffset 1 width 35.00: "K"
     67            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 (272,240) size 137x81 contains 1 chunk(s) [color=#FFFFFF]
     69      RenderSVGText {text} at (261,240) size 137x81 contains 1 chunk(s) [color=#FFFFFF]
    7070        RenderSVGInlineText {#text} at (0,-28) size 35x61
    71           chunk 1 (middle anchor) text run 1 at (272.50,260.00) startOffset 0 endOffset 1 width 13.00: " "
     71          chunk 1 (middle anchor) text run 1 at (261.50,260.00) startOffset 0 endOffset 1 width 35.00: "B"
    7272        RenderSVGTSpan {tspan} at (0,0) size 19x31
    7373          RenderSVGInlineText {#text} at (35,-24) size 19x31
    74             chunk 1 (middle anchor) text run 2 at (307.50,240.00) startOffset 0 endOffset 1 width 19.00: "A"
     74            chunk 1 (middle anchor) text run 2 at (296.50,240.00) startOffset 0 endOffset 1 width 19.00: "A"
    7575        RenderSVGInlineText {#text} at (54,-48) size 32x61
    76           chunk 1 (middle anchor) text run 3 at (326.50,240.00) startOffset 0 endOffset 1 width 32.00: "T"
     76          chunk 1 (middle anchor) text run 3 at (315.50,240.00) startOffset 0 endOffset 1 width 32.00: "T"
    7777        RenderSVGTSpan {tspan} at (0,0) size 13x46
    7878          RenderSVGInlineText {#text} at (86,-36) size 13x46
    79             chunk 1 (middle anchor) text run 4 at (358.50,240.00) startOffset 0 endOffset 1 width 13.00: "I"
     79            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 38x61
    8181          RenderSVGInlineText {#text} at (99,-48) size 38x61
    82             chunk 1 (middle anchor) text run 5 at (371.50,240.00) startOffset 0 endOffset 1 width 38.00: "K"
     82            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 (64,340) size 131x79 contains 1 chunk(s) [color=#FF0000]
     84      RenderSVGText {text} at (54,340) size 131x79 contains 1 chunk(s) [color=#FF0000]
    8585        RenderSVGInlineText {#text} at (0,-28) size 35x59
    86           chunk 1 (middle anchor) text run 1 at (64.50,360.00) startOffset 0 endOffset 1 width 15.00: " "
     86          chunk 1 (middle anchor) text run 1 at (54.50,360.00) startOffset 0 endOffset 1 width 35.00: "B"
    8787        RenderSVGTSpan {tspan} at (0,0) size 18x30
    8888          RenderSVGInlineText {#text} at (35,-24) size 18x30
    89             chunk 1 (middle anchor) text run 2 at (99.50,340.00) startOffset 0 endOffset 1 width 18.00: "A"
     89            chunk 1 (middle anchor) text run 2 at (89.50,340.00) startOffset 0 endOffset 1 width 18.00: "A"
    9090        RenderSVGInlineText {#text} at (53,-48) size 32x59
    91           chunk 1 (middle anchor) text run 3 at (117.50,340.00) startOffset 0 endOffset 1 width 32.00: "T"
     91          chunk 1 (middle anchor) text run 3 at (107.50,340.00) startOffset 0 endOffset 1 width 32.00: "T"
    9292        RenderSVGTSpan {tspan} at (0,0) size 11x44
    9393          RenderSVGInlineText {#text} at (85,-36) size 11x44
    94             chunk 1 (middle anchor) text run 4 at (149.50,340.00) startOffset 0 endOffset 1 width 11.00: "I"
     94            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 35x59
    9696          RenderSVGInlineText {#text} at (96,-48) size 35x59
    97             chunk 1 (middle anchor) text run 5 at (160.50,340.00) startOffset 0 endOffset 1 width 35.00: "K"
     97            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 (272,340) size 137x81 contains 1 chunk(s) [color=#FF0000]
     99      RenderSVGText {text} at (261,340) size 137x81 contains 1 chunk(s) [color=#FF0000]
    100100        RenderSVGInlineText {#text} at (0,-28) size 35x61
    101           chunk 1 (middle anchor) text run 1 at (272.50,360.00) startOffset 0 endOffset 1 width 13.00: " "
     101          chunk 1 (middle anchor) text run 1 at (261.50,360.00) startOffset 0 endOffset 1 width 35.00: "B"
    102102        RenderSVGTSpan {tspan} at (0,0) size 19x31
    103103          RenderSVGInlineText {#text} at (35,-24) size 19x31
    104             chunk 1 (middle anchor) text run 2 at (307.50,340.00) startOffset 0 endOffset 1 width 19.00: "A"
     104            chunk 1 (middle anchor) text run 2 at (296.50,340.00) startOffset 0 endOffset 1 width 19.00: "A"
    105105        RenderSVGInlineText {#text} at (54,-48) size 32x61
    106           chunk 1 (middle anchor) text run 3 at (326.50,340.00) startOffset 0 endOffset 1 width 32.00: "T"
     106          chunk 1 (middle anchor) text run 3 at (315.50,340.00) startOffset 0 endOffset 1 width 32.00: "T"
    107107        RenderSVGTSpan {tspan} at (0,0) size 13x46
    108108          RenderSVGInlineText {#text} at (86,-36) size 13x46
    109             chunk 1 (middle anchor) text run 4 at (358.50,340.00) startOffset 0 endOffset 1 width 13.00: "I"
     109            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 38x61
    111111          RenderSVGInlineText {#text} at (99,-48) size 38x61
    112             chunk 1 (middle anchor) text run 5 at (371.50,340.00) startOffset 0 endOffset 1 width 38.00: "K"
     112            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
    114114      RenderSVGText {text} at (87,400) size 65x14 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/batik/text/textFeatures-expected.checksum

    r21607 r24916  
    1 7222bea5aee75c04b09925d7b86f938a
     19254b86390a67f60c297854bc98581f2
  • branches/feature-branch/LayoutTests/svg/batik/text/textFeatures-expected.txt

    r24292 r24916  
    44  RenderSVGRoot {svg} at (45,36) size 349x449.20
    55    RenderSVGContainer {g} at (45,36) size 349x449.20
    6       RenderSVGText {text} at (168,50) size 148x17 contains 1 chunk(s)
     6      RenderSVGText {text} at (151,50) size 148x17 contains 1 chunk(s)
    77        RenderSVGInlineText {#text} at (0,-14) size 148x17
    8           chunk 1 (middle anchor) text run 1 at (168.00,50.00) startOffset 0 endOffset 21 width 114.00: "            Text Elem"
     8          chunk 1 (middle anchor) text run 1 at (151.00,50.00) startOffset 0 endOffset 21 width 148.00: "Text Element Features"
    99      RenderSVGContainer {g} at (45,72) size 349x413.20
    1010        RenderSVGText {text} at (45,100) size 328x36 contains 1 chunk(s) [color=#191970]
    1111          RenderSVGInlineText {#text} at (0,-13) size 107x17
    12             chunk 1 text run 1 at (45.00,100.00) startOffset 0 endOffset 16 width 86.00: "        Text can"
     12            chunk 1 text run 1 at (45.00,100.00) startOffset 0 endOffset 16 width 107.00: "Text can change "
    1313          RenderSVGTSpan {tspan} at (0,0) size 54x36
    1414            RenderSVGInlineText {#text} at (107,-28) size 54x36
     
    2626          RenderSVGInlineText {#text} at (279,-13) size 21x17
    2727            chunk 1 text run 7 at (324.00,100.00) startOffset 0 endOffset 1 width 4.00: " "
     28            chunk 1 text run 8 at (328.00,100.00) startOffset 0 endOffset 3 width 17.00: "or "
    2829          RenderSVGTSpan {tspan} at (0,0) size 28x17 [color=#FF0000]
    2930            RenderSVGInlineText {#text} at (300,-13) size 28x17
     
    3233        RenderSVGText {text} at (45,125) size 175x17 contains 1 chunk(s) [color=#191970]
    3334          RenderSVGInlineText {#text} at (0,-13) size 175x17
    34             chunk 1 text run 1 at (45.00,125.00) startOffset 0 endOffset 29 width 154.00: "         within a single text"
     35            chunk 1 text run 1 at (45.00,125.00) startOffset 0 endOffset 29 width 175.00: "within a single text element."
    3536        RenderSVGText {text} at (45,175) size 341x17 contains 1 chunk(s) [color=#191970]
    3637          RenderSVGInlineText {#text} at (0,-13) size 151x17
     
    5354        RenderSVGText {text} at (45,225) size 316x17 contains 1 chunk(s) [color=#191970]
    5455          RenderSVGInlineText {#text} at (0,-13) size 171x17
    55             chunk 1 text run 1 at (45.00,225.00) startOffset 0 endOffset 28 width 153.00: "        Graphics attributes "
     56            chunk 1 text run 1 at (45.00,225.00) startOffset 0 endOffset 28 width 171.00: "Graphics attributes such as "
    5657          RenderSVGTSpan {tspan} at (0,0) size 46x17 [color=#FF0000]
    5758            RenderSVGInlineText {#text} at (171,-13) size 46x17
     
    8889          RenderSVGInlineText {#text} at (169,-6) size 132x17
    8990            chunk 1 text run 6 at (214.00,300.00) startOffset 0 endOffset 9 width 49.00: "-scripts "
     91            chunk 1 text run 7 at (263.00,300.00) startOffset 0 endOffset 14 width 83.00: "are available."
    9092        RenderSVGText {text} at (45,319) size 342x24 contains 1 chunk(s) [color=#191970]
    9193          RenderSVGInlineText {#text} at (0,-7) size 177x17
     
    101103          RenderSVGInlineText {#text} at (246,-7) size 96x17
    102104            chunk 1 text run 5 at (291.00,325.00) startOffset 0 endOffset 1 width 4.00: " "
     105            chunk 1 text run 6 at (295.00,325.00) startOffset 0 endOffset 14 width 92.00: "by percentage."
    103106        RenderSVGText {text} at (45,375) size 349x17 contains 1 chunk(s) [color=#191970]
    104107          RenderSVGInlineText {#text} at (0,-13) size 53x17
    105             chunk 1 text run 1 at (45.00,375.00) startOffset 0 endOffset 8 width 32.00: "        "
     108            chunk 1 text run 1 at (45.00,375.00) startOffset 0 endOffset 8 width 53.00: "Various "
    106109          RenderSVGTSpan {tspan} at (0,0) size 47x17 [color=#FF0000]
    107110            RenderSVGInlineText {#text} at (53,-13) size 47x17
     
    127130          RenderSVGInlineText {#text} at (273,-13) size 21x17
    128131            chunk 1 text run 3 at (318.00,400.00) startOffset 0 endOffset 1 width 4.00: " "
     132            chunk 1 text run 4 at (322.00,400.00) startOffset 0 endOffset 3 width 17.00: "or "
    129133          RenderSVGTSpan {tspan} at (0,0) size 51x17 [color=#000000]
    130134            RenderSVGInlineText {#text} at (294,-13) size 51x17
     
    140144          RenderSVGText {text} at (0,0) size 129x46 contains 1 chunk(s)
    141145            RenderSVGInlineText {#text} at (0,-36) size 129x46
    142               chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 60.00: "      "
     146              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 129.00: "Shadow"
    143147          RenderSVGText {text} at (0,0) size 129x46 contains 1 chunk(s)
    144148            RenderSVGInlineText {#text} at (0,-36) size 129x46
    145               chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 60.00: "      "
     149              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 129.00: "Shadow"
    146150    RenderSVGContainer {use} at (0,0) size 0x0
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout-expected.checksum

    r21607 r24916  
    1 1ce0d925d95529e51d9b8b6da0f30afd
     1d1a743c431f0f2de24ac21dd03891d46
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout-expected.txt

    r24292 r24916  
    88          chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    99    RenderSVGContainer {g} at (40,36) size 379x421
    10       RenderSVGText {text} at (164,50) size 148x17 contains 1 chunk(s)
     10      RenderSVGText {text} at (151,50) size 148x17 contains 1 chunk(s)
    1111        RenderSVGInlineText {#text} at (0,-14) size 148x17
    12           chunk 1 (middle anchor) text run 1 at (164.50,50.00) startOffset 0 endOffset 22 width 121.00: "            Text Layou"
     12          chunk 1 (middle anchor) text run 1 at (151.00,50.00) startOffset 0 endOffset 22 width 148.00: "Text Layout Properties"
    1313      RenderSVGText {text} at (170,75) size 110x13 contains 1 chunk(s)
    1414        RenderSVGInlineText {#text} at (0,-10) size 110x13
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout2-expected.checksum

    r21607 r24916  
    1 ed465935e9cb71745a453e7a87dc2af4
     1f16cb802bc9b04fb1386172f7bd44c96
  • branches/feature-branch/LayoutTests/svg/batik/text/textLayout2-expected.txt

    r24292 r24916  
    88          chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    99    RenderSVGContainer {g} at (90,36) size 249x433
    10       RenderSVGText {text} at (153,50) size 170x17 contains 1 chunk(s)
     10      RenderSVGText {text} at (140,50) size 170x17 contains 1 chunk(s)
    1111        RenderSVGInlineText {#text} at (0,-14) size 170x17
    12           chunk 1 (middle anchor) text run 1 at (153.00,50.00) startOffset 0 endOffset 26 width 144.00: "            Text Layout Pr"
     12          chunk 1 (middle anchor) text run 1 at (140.00,50.00) startOffset 0 endOffset 26 width 170.00: "Text Layout Properties (2)"
    1313      RenderSVGText {text} at (186,75) size 77x13 contains 1 chunk(s)
    1414        RenderSVGInlineText {#text} at (0,-10) size 77x13
     
    7878      RenderSVGText {text} at (0,0) size 89x103 contains 16 chunk(s) [color=#008000]
    7979        RenderSVGInlineText {#text} at (0,-18) size 89x103
    80           chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 5.00: " "
    81           chunk 2 text run 1 at (20.00,0.00) startOffset 1 endOffset 2 width 5.00: " "
    82           chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 5.00: " "
    83           chunk 4 text run 1 at (60.00,0.00) startOffset 3 endOffset 4 width 5.00: " "
    84           chunk 5 text run 1 at (80.00,0.00) startOffset 4 endOffset 5 width 5.00: " "
    85           chunk 6 text run 1 at (80.00,20.00) startOffset 5 endOffset 6 width 5.00: " "
    86           chunk 7 text run 1 at (80.00,40.00) startOffset 6 endOffset 7 width 5.00: " "
    87           chunk 8 text run 1 at (80.00,60.00) startOffset 7 endOffset 8 width 5.00: " "
    88           chunk 9 text run 1 at (80.00,80.00) startOffset 8 endOffset 9 width 5.00: " "
    89           chunk 10 text run 1 at (60.00,80.00) startOffset 9 endOffset 10 width 5.00: " "
    90           chunk 11 text run 1 at (40.00,80.00) startOffset 10 endOffset 11 width 5.00: " "
    91           chunk 12 text run 1 at (20.00,80.00) startOffset 11 endOffset 12 width 5.00: " "
    92           chunk 13 text run 1 at (0.00,80.00) startOffset 12 endOffset 13 width 12.00: "T"
    93           chunk 14 text run 1 at (0.00,60.00) startOffset 13 endOffset 14 width 9.00: "e"
    94           chunk 15 text run 1 at (0.00,40.00) startOffset 14 endOffset 15 width 10.00: "x"
    95           chunk 16 text run 1 at (0.00,20.00) startOffset 15 endOffset 16 width 6.00: "t"
     80          chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 12.00: "T"
     81          chunk 2 text run 1 at (20.00,0.00) startOffset 1 endOffset 2 width 9.00: "e"
     82          chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 10.00: "x"
     83          chunk 4 text run 1 at (60.00,0.00) startOffset 3 endOffset 4 width 6.00: "t"
     84          chunk 5 text run 1 at (80.00,0.00) startOffset 4 endOffset 5 width 7.00: "-"
     85          chunk 6 text run 1 at (80.00,20.00) startOffset 5 endOffset 6 width 6.00: "i"
     86          chunk 7 text run 1 at (80.00,40.00) startOffset 6 endOffset 7 width 10.00: "n"
     87          chunk 8 text run 1 at (80.00,60.00) startOffset 7 endOffset 8 width 7.00: "-"
     88          chunk 9 text run 1 at (80.00,80.00) startOffset 8 endOffset 9 width 9.00: "a"
     89          chunk 10 text run 1 at (60.00,80.00) startOffset 9 endOffset 10 width 7.00: "-"
     90          chunk 11 text run 1 at (40.00,80.00) startOffset 10 endOffset 11 width 8.00: "s"
     91          chunk 12 text run 1 at (20.00,80.00) startOffset 11 endOffset 12 width 10.00: "q"
     92          chunk 13 text run 1 at (0.00,80.00) startOffset 12 endOffset 13 width 10.00: "u"
     93          chunk 14 text run 1 at (0.00,60.00) startOffset 13 endOffset 14 width 9.00: "a"
     94          chunk 15 text run 1 at (0.00,40.00) startOffset 14 endOffset 15 width 7.00: "r"
     95          chunk 16 text run 1 at (0.00,20.00) startOffset 15 endOffset 16 width 9.00: "e"
    9696      RenderSVGText {text} at (149,450) size 152x17 contains 1 chunk(s)
    9797        RenderSVGInlineText {#text} at (0,-13) size 63x17
  • branches/feature-branch/LayoutTests/svg/batik/text/textOnPath2-expected.txt

    r24772 r24916  
    4545            chunk 1 text run 6 at (270.78,-66.97) startOffset 0 endOffset 9 width 51.00: "all with "
    4646        RenderSVGInlineText {#text} at (311,23) size 91x18
    47           chunk 1 text run 7 at (321.78,-66.97) startOffset 0 endOffset 16 width 91.00: " different links"
     47          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 414x129.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,330.00)}]
    4949      RenderSVGContainer {use} at (139.50,204.33) size 141x125.67
     
    6868            chunk 1 text run 6 at (282.96,-44.00) startOffset 0 endOffset 9 width 51.00: "all with "
    6969        RenderSVGInlineText {#text} at (323,45) size 91x18
    70           chunk 1 text run 7 at (333.96,-44.00) startOffset 0 endOffset 16 width 91.00: " different links"
     70          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)}]
    7272      RenderSVGContainer {use} at (139.50,349.33) size 141x125.67
     
    9191            chunk 1 text run 6 at (285.21,-37.01) startOffset 0 endOffset 9 width 51.00: "all with "
    9292        RenderSVGInlineText {#text} at (326,52) size 91x18
    93           chunk 1 text run 7 at (336.21,-37.01) startOffset 0 endOffset 16 width 91.00: " different links"
     93          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/textProperties-expected.checksum

    r24195 r24916  
    1 3afffe7d10473461bfc0eff1d6c111fd
     195b0e5e1abcf9f574f717ae77805bba6
  • branches/feature-branch/LayoutTests/svg/batik/text/textProperties-expected.txt

    r24292 r24916  
    1111          chunk 1 (middle anchor) text run 1 at (-22.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    1212    RenderSVGContainer {g} at (15,36) size 415x433
    13       RenderSVGText {text} at (78,50) size 332x17 contains 1 chunk(s)
     13      RenderSVGText {text} at (59,50) size 332x17 contains 1 chunk(s)
    1414        RenderSVGInlineText {#text} at (0,-14) size 332x17
    15           chunk 1 (middle anchor) text run 1 at (78.00,50.00) startOffset 0 endOffset 47 width 294.00: "            Text Alignment, Geometry, Reference"
    16       RenderSVGContainer {g} at (154,70) size 188x70
     15          chunk 1 (middle anchor) text run 1 at (59.00,50.00) startOffset 0 endOffset 47 width 332.00: "Text Alignment, Geometry, References, and Spans"
     16      RenderSVGContainer {g} at (111,70) size 231x70
    1717        RenderPath {line} at (224.50,70) size 1x70 [stroke={[type=SOLID] [color=#808080]}] [fill={[type=SOLID] [color=#000000]}] [data="M225.00,70.00L225.00,140.00"]
    1818        RenderSVGText {text} at (225,90) size 117x17 contains 1 chunk(s) [color=#191970]
    1919          RenderSVGInlineText {#text} at (0,-13) size 117x17
    20             chunk 1 text run 1 at (225.00,90.00) startOffset 0 endOffset 19 width 83.00: "               text"
    21         RenderSVGText {text} at (181,110) size 134x17 contains 1 chunk(s) [color=#8B0000]
     20            chunk 1 text run 1 at (225.00,90.00) startOffset 0 endOffset 19 width 117.00: "text-anchor=\"start\""
     21        RenderSVGText {text} at (158,110) size 134x17 contains 1 chunk(s) [color=#8B0000]
    2222          RenderSVGInlineText {#text} at (0,-13) size 134x17
    23             chunk 1 (middle anchor) text run 1 at (181.00,110.00) startOffset 0 endOffset 20 width 88.00: "               text-"
    24         RenderSVGText {text} at (154,130) size 114x17 contains 1 chunk(s) [color=#228B22]
     23            chunk 1 (middle anchor) text run 1 at (158.00,110.00) startOffset 0 endOffset 20 width 134.00: "text-anchor=\"middle\""
     24        RenderSVGText {text} at (111,130) size 114x17 contains 1 chunk(s) [color=#228B22]
    2525          RenderSVGInlineText {#text} at (0,-13) size 114x17
    26             chunk 1 (end anchor) text run 1 at (154.00,130.00) startOffset 0 endOffset 17 width 71.00: "               te"
     26            chunk 1 (end anchor) text run 1 at (111.00,130.00) startOffset 0 endOffset 17 width 114.00: "text-anchor=\"end\""
    2727      RenderSVGContainer {g} at (45,145) size 109x54 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}]
    2828        RenderSVGText {text} at (-55,0) size 108x45 contains 1 chunk(s)
     
    5454          RenderSVGInlineText {#text} at (0,-14) size 159x18
    5555            chunk 1 (middle anchor) text run 1 at (-79.50,15.00) startOffset 0 endOffset 26 width 159.00: "referenced text via <tref>"
    56       RenderSVGContainer {g} at (178,197) size 94x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,225.00)}]
    57         RenderSVGText {text} at (-39,0) size 85x36 contains 1 chunk(s)
     56      RenderSVGContainer {g} at (178,197) size 93x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,225.00)}]
     57        RenderSVGText {text} at (-43,0) size 86x36 contains 1 chunk(s)
    5858          RenderSVGInlineText {#text} at (0,-28) size 25x36
    59             chunk 1 (middle anchor) text run 1 at (-38.50,0.00) startOffset 0 endOffset 2 width 16.00: "  "
    60           RenderSVGTSpan {tspan} at (0,0) size 24x36 [color=#8B0000]
     59            chunk 1 (middle anchor) text run 1 at (-43.00,0.00) startOffset 0 endOffset 2 width 25.00: "sa"
     60          RenderSVGTSpan {tspan} at (0,0) size 25x36 [color=#8B0000]
    6161            RenderSVGInlineText {#text} at (25,-28) size 25x36
    62               chunk 1 (middle anchor) text run 2 at (-13.50,0.00) startOffset 0 endOffset 1 width 25.00: "m"
     62              chunk 1 (middle anchor) text run 2 at (-18.00,0.00) startOffset 0 endOffset 1 width 25.00: "m"
    6363          RenderSVGInlineText {#text} at (50,-28) size 36x36
    64             chunk 1 (middle anchor) text run 3 at (11.50,0.00) startOffset 0 endOffset 3 width 36.00: "ple"
     64            chunk 1 (middle anchor) text run 3 at (7.00,0.00) startOffset 0 endOffset 3 width 36.00: "ple"
    6565        RenderSVGText {text} at (-47,15) size 92x18 contains 1 chunk(s)
    6666          RenderSVGInlineText {#text} at (0,-14) size 93x18
     
    7676          RenderSVGInlineText {#text} at (0,-14) size 160x18
    7777            chunk 1 (middle anchor) text run 1 at (-80.00,15.00) startOffset 0 endOffset 25 width 160.00: "predefined text via <use>"
    78       RenderSVGText {text} at (156,280) size 163x17 contains 1 chunk(s)
     78      RenderSVGText {text} at (143,280) size 163x17 contains 1 chunk(s)
    7979        RenderSVGInlineText {#text} at (0,-13) size 163x17
    80           chunk 1 (middle anchor) text run 1 at (156.50,280.00) startOffset 0 endOffset 25 width 137.00: "            Text Renderin"
     80          chunk 1 (middle anchor) text run 1 at (143.50,280.00) startOffset 0 endOffset 25 width 163.00: "Text Rendering Properties"
    8181      RenderSVGContainer {g} at (24,297) size 152x42 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,305.00)}]
    8282        RenderSVGContainer {g} at (58.00,297) size 84x36 [transform={m=((-1.00,-0.00)(0.00,-1.00)) t=(0.00,0.00)}]
     
    141141          RenderSVGInlineText {#text} at (0,-14) size 99x18
    142142            chunk 1 (middle anchor) text run 1 at (-49.50,15.00) startOffset 0 endOffset 17 width 99.00: "text as clip-path"
    143       RenderSVGText {text} at (142,440) size 27x69 contains 1 chunk(s) [color=#8B0000]
     143      RenderSVGText {text} at (136,440) size 27x69 contains 1 chunk(s) [color=#8B0000]
    144144        RenderSVGInlineText {#text} at (0,-54) size 27x69
    145           chunk 1 (middle anchor) text run 1 at (142.50,440.00) startOffset 0 endOffset 1 width 15.00: " "
     145          chunk 1 (middle anchor) text run 1 at (136.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
    146146      RenderSVGText {text} at (77,455) size 145x18 contains 1 chunk(s)
    147147        RenderSVGInlineText {#text} at (0,-14) size 145x18
     
    150150        RenderSVGInlineText {#text} at (0,-14) size 152x18
    151151          chunk 1 (middle anchor) text run 1 at (74.00,465.00) startOffset 0 endOffset 23 width 152.00: "stroke-linecap=\"square\""
    152       RenderSVGText {text} at (292,440) size 27x69 contains 1 chunk(s) [color=#8B0000]
     152      RenderSVGText {text} at (286,440) size 27x69 contains 1 chunk(s) [color=#8B0000]
    153153        RenderSVGInlineText {#text} at (0,-54) size 27x69
    154           chunk 1 (middle anchor) text run 1 at (292.50,440.00) startOffset 0 endOffset 1 width 15.00: " "
     154          chunk 1 (middle anchor) text run 1 at (286.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
    155155      RenderSVGText {text} at (225,455) size 150x18 contains 1 chunk(s)
    156156        RenderSVGInlineText {#text} at (0,-14) size 150x18
  • branches/feature-branch/LayoutTests/svg/batik/text/textProperties2-expected.checksum

    r21607 r24916  
    1 d1d774c2e97e3ea838ae86fb4ab41748
     19274d52374ee3fc651bea64bb04299a6
  • branches/feature-branch/LayoutTests/svg/batik/text/textProperties2-expected.txt

    r24292 r24916  
    55    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    66    RenderSVGContainer {g} at (12,26) size 469x306.50
    7       RenderSVGText {text} at (147,40) size 166x17 contains 1 chunk(s)
     7      RenderSVGText {text} at (142,40) size 166x17 contains 1 chunk(s)
    88        RenderSVGInlineText {#text} at (0,-14) size 166x17
    9           chunk 1 (middle anchor) text run 1 at (147.50,40.00) startOffset 0 endOffset 28 width 155.00: "            Text display and"
     9          chunk 1 (middle anchor) text run 1 at (142.00,40.00) startOffset 0 endOffset 28 width 166.00: "Text display and visibility."
    1010      RenderSVGText {text} at (143,74) size 164x18 contains 1 chunk(s)
    1111        RenderSVGInlineText {#text} at (0,-14) size 164x18
     
    6262            RenderSVGTSpan {tspan} at (0,0) size 45x18 [color=#800080]
    6363              RenderSVGInlineText {#text} at (82,-14) size 45x18
    64                 chunk 1 text run 3 at (102.00,70.00) startOffset 0 endOffset 7 width 41.00: " tspan "
     64                chunk 1 text run 3 at (102.00,70.00) startOffset 0 endOffset 7 width 45.00: "tspan 2"
    6565            RenderSVGInlineText {#text} at (127,-14) size 81x18
    6666              chunk 1 text run 4 at (147.00,70.00) startOffset 0 endOffset 12 width 81.00: " more span 1"
     
    7575            RenderSVGTSpan {tspan} at (0,0) size 45x18 [color=#800080]
    7676              RenderSVGInlineText {#text} at (82,-14) size 45x18
    77                 chunk 1 text run 3 at (102.00,90.00) startOffset 0 endOffset 7 width 41.00: " tspan "
     77                chunk 1 text run 3 at (102.00,90.00) startOffset 0 endOffset 7 width 45.00: "tspan 2"
    7878            RenderSVGInlineText {#text} at (127,-14) size 81x18
    7979              chunk 1 text run 4 at (147.00,90.00) startOffset 0 endOffset 12 width 81.00: " more span 1"
     
    8888            RenderSVGTSpan {tspan} at (0,0) size 45x18 [color=#800080]
    8989              RenderSVGInlineText {#text} at (82,-14) size 45x18
    90                 chunk 1 text run 3 at (102.00,110.00) startOffset 0 endOffset 7 width 41.00: " tspan "
     90                chunk 1 text run 3 at (102.00,110.00) startOffset 0 endOffset 7 width 45.00: "tspan 2"
    9191            RenderSVGInlineText {#text} at (127,-14) size 81x18
    9292              chunk 1 text run 4 at (147.00,110.00) startOffset 0 endOffset 12 width 81.00: " more span 1"
     
    101101            RenderSVGTSpan {tspan} at (0,0) size 45x18 [color=#800080]
    102102              RenderSVGInlineText {#text} at (82,-14) size 45x18
    103                 chunk 1 text run 3 at (102.00,130.00) startOffset 0 endOffset 7 width 41.00: " tspan "
     103                chunk 1 text run 3 at (102.00,130.00) startOffset 0 endOffset 7 width 45.00: "tspan 2"
    104104            RenderSVGInlineText {#text} at (127,-14) size 81x18
    105105              chunk 1 text run 4 at (147.00,130.00) startOffset 0 endOffset 12 width 81.00: " more span 1"
     
    126126              chunk 1 text run 2 at (53.00,190.00) startOffset 0 endOffset 8 width 49.00: "tspan 1 "
    127127            RenderSVGInlineText {#text} at (82,-14) size 77x18
    128               chunk 1 text run 3 at (102.00,190.00) startOffset 0 endOffset 11 width 73.00: " more span "
     128              chunk 1 text run 3 at (102.00,190.00) startOffset 0 endOffset 11 width 77.00: "more span 1"
    129129          RenderSVGInlineText {#text} at (159,-14) size 66x18
    130130            chunk 1 text run 4 at (179.00,190.00) startOffset 0 endOffset 12 width 66.00: " finish text"
     
    133133            chunk 1 text run 1 at (20.00,210.00) startOffset 0 endOffset 5 width 33.00: "Text "
    134134          RenderSVGInlineText {#text} at (33,-14) size 62x18
    135             chunk 1 text run 2 at (53.00,210.00) startOffset 0 endOffset 11 width 62.00: " finish tex"
     135            chunk 1 text run 2 at (53.00,210.00) startOffset 0 endOffset 11 width 62.00: "finish text"
    136136        RenderSVGText {text} at (20,230) size 95x18 contains 1 chunk(s)
    137137          RenderSVGInlineText {#text} at (0,-14) size 33x18
    138138            chunk 1 text run 1 at (20.00,230.00) startOffset 0 endOffset 5 width 33.00: "Text "
    139139          RenderSVGInlineText {#text} at (33,-14) size 62x18
    140             chunk 1 text run 2 at (53.00,230.00) startOffset 0 endOffset 11 width 62.00: " finish tex"
     140            chunk 1 text run 2 at (53.00,230.00) startOffset 0 endOffset 11 width 62.00: "finish text"
    141141        RenderSVGText {text} at (20,250) size 225x18 contains 1 chunk(s)
    142142          RenderSVGInlineText {#text} at (0,-14) size 33x18
     
    146146              chunk 1 text run 2 at (53.00,250.00) startOffset 0 endOffset 8 width 49.00: "tspan 1 "
    147147            RenderSVGInlineText {#text} at (82,-14) size 77x18
    148               chunk 1 text run 3 at (102.00,250.00) startOffset 0 endOffset 11 width 73.00: " more span "
     148              chunk 1 text run 3 at (102.00,250.00) startOffset 0 endOffset 11 width 77.00: "more span 1"
    149149          RenderSVGInlineText {#text} at (159,-14) size 66x18
    150150            chunk 1 text run 4 at (179.00,250.00) startOffset 0 endOffset 12 width 66.00: " finish text"
  • branches/feature-branch/LayoutTests/svg/batik/text/textStyles-expected.checksum

    r21607 r24916  
    1 caf2559181dfad15602793d63a11acf5
     12a554f0e682e7c1f485877cd95d896af
  • branches/feature-branch/LayoutTests/svg/batik/text/textStyles-expected.txt

    r24292 r24916  
    88          chunk 1 (middle anchor) text run 1 at (-22.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    99    RenderSVGContainer {g} at (-71,36) size 581x397
    10       RenderSVGText {text} at (151,50) size 180x17 contains 1 chunk(s)
     10      RenderSVGText {text} at (135,50) size 180x17 contains 1 chunk(s)
    1111        RenderSVGInlineText {#text} at (0,-14) size 180x17
    12           chunk 1 (middle anchor) text run 1 at (151.50,50.00) startOffset 0 endOffset 26 width 147.00: "            Text Font Face"
     12          chunk 1 (middle anchor) text run 1 at (135.00,50.00) startOffset 0 endOffset 26 width 180.00: "Text Font Faces and Styles"
    1313      RenderSVGText {text} at (184,75) size 82x13 contains 1 chunk(s)
    1414        RenderSVGInlineText {#text} at (0,-10) size 82x13
     
    125125        RenderSVGInlineText {#text} at (0,-10) size 88x13
    126126          chunk 1 (middle anchor) text run 1 at (181.00,310.00) startOffset 0 endOffset 19 width 88.00: "Named Font Families"
    127       RenderSVGText {text} at (133,325) size 193x13 contains 1 chunk(s)
     127      RenderSVGText {text} at (128,325) size 193x13 contains 1 chunk(s)
    128128        RenderSVGInlineText {#text} at (0,-10) size 193x13
    129           chunk 1 (middle anchor) text run 1 at (133.00,325.00) startOffset 0 endOffset 49 width 184.00: "            (Not all typefaces are available on a"
     129          chunk 1 (middle anchor) text run 1 at (128.50,325.00) startOffset 0 endOffset 49 width 193.00: "(Not all typefaces are available on all systems.)"
    130130      RenderSVGContainer {g} at (58,332) size 84x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,360.00)}]
    131131        RenderSVGContainer {use} at (58,332) size 84x36
  • branches/feature-branch/LayoutTests/svg/batik/text/xmlSpace-expected.txt

    r24292 r24916  
    99      RenderSVGText {text} at (10,0) size 28x18 contains 1 chunk(s)
    1010        RenderSVGInlineText {#text} at (0,-14) size 28x18
    11           chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 2 width 8.00: "  "
     11          chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 2 width 16.00: "X "
     12          chunk 1 text run 2 at (26.00,0.00) startOffset 0 endOffset 1 width 12.00: "X"
    1213      RenderSVGText {text} at (120,75) size 107x18 contains 1 chunk(s)
    1314        RenderSVGInlineText {#text} at (0,-14) size 107x18
     
    1516      RenderSVGText {text} at (10,100) size 28x18 contains 1 chunk(s)
    1617        RenderSVGInlineText {#text} at (0,-14) size 28x18
    17           chunk 1 text run 1 at (10.00,100.00) startOffset 0 endOffset 2 width 8.00: "  "
     18          chunk 1 text run 1 at (10.00,100.00) startOffset 0 endOffset 2 width 16.00: "X "
     19          chunk 1 text run 2 at (26.00,100.00) startOffset 0 endOffset 1 width 12.00: "X"
    1820      RenderSVGText {text} at (120,100) size 129x18 contains 1 chunk(s)
    1921        RenderSVGInlineText {#text} at (0,-14) size 129x18
     
    145147      RenderSVGText {text} at (235,150) size 28x18 contains 1 chunk(s)
    146148        RenderSVGInlineText {#text} at (0,-14) size 28x18
    147           chunk 1 text run 1 at (235.00,150.00) startOffset 0 endOffset 2 width 8.00: "  "
     149          chunk 1 text run 1 at (235.00,150.00) startOffset 0 endOffset 2 width 16.00: "X "
     150          chunk 1 text run 2 at (251.00,150.00) startOffset 0 endOffset 1 width 12.00: "X"
    148151        RenderSVGTSpan {tspan} at (0,0) size 0x0 [color=#FF0000]
    149152      RenderSVGText {text} at (345,140) size 139x37 contains 2 chunk(s)
     
    155158      RenderSVGText {text} at (235,175) size 36x18 contains 1 chunk(s)
    156159        RenderSVGInlineText {#text} at (0,-14) size 28x18
    157           chunk 1 text run 1 at (235.00,175.00) startOffset 0 endOffset 2 width 8.00: "  "
     160          chunk 1 text run 1 at (235.00,175.00) startOffset 0 endOffset 2 width 16.00: "X "
     161          chunk 1 text run 2 at (251.00,175.00) startOffset 0 endOffset 1 width 12.00: "X"
    158162        RenderSVGTSpan {tspan} at (0,0) size 8x18 [color=#FF0000]
    159163          RenderSVGInlineText {#text} at (28,-14) size 8x18
     
    167171      RenderSVGText {text} at (235,200) size 36x18 contains 1 chunk(s)
    168172        RenderSVGInlineText {#text} at (0,-14) size 32x18
    169           chunk 1 text run 1 at (235.00,200.00) startOffset 0 endOffset 2 width 8.00: "  "
     173          chunk 1 text run 1 at (235.00,200.00) startOffset 0 endOffset 2 width 16.00: "X "
     174          chunk 1 text run 2 at (251.00,200.00) startOffset 0 endOffset 2 width 16.00: "X "
    170175        RenderSVGTSpan {tspan} at (0,0) size 4x18 [color=#FF0000]
    171176          RenderSVGInlineText {#text} at (32,-14) size 4x18
     
    183188        RenderSVGInlineText {#text} at (4,-14) size 32x18
    184189          chunk 1 text run 2 at (239.00,225.00) startOffset 0 endOffset 3 width 20.00: " X "
     190          chunk 1 text run 3 at (259.00,225.00) startOffset 0 endOffset 1 width 12.00: "X"
    185191      RenderSVGText {text} at (345,215) size 139x37 contains 2 chunk(s)
    186192        RenderSVGInlineText {#text} at (0,-14) size 67x18
     
    195201        RenderSVGInlineText {#text} at (4,-14) size 28x18
    196202          chunk 1 text run 2 at (239.00,250.00) startOffset 0 endOffset 2 width 16.00: "X "
     203          chunk 1 text run 3 at (255.00,250.00) startOffset 0 endOffset 1 width 12.00: "X"
    197204      RenderSVGText {text} at (345,240) size 139x37 contains 2 chunk(s)
    198205        RenderSVGInlineText {#text} at (0,-14) size 98x18
     
    203210      RenderSVGText {text} at (235,275) size 32x18 contains 1 chunk(s)
    204211        RenderSVGInlineText {#text} at (0,-14) size 12x18
    205           chunk 1 text run 1 at (235.00,275.00) startOffset 0 endOffset 1 width 4.00: " "
     212          chunk 1 text run 1 at (235.00,275.00) startOffset 0 endOffset 1 width 12.00: "X"
    206213        RenderSVGTSpan {tspan} at (0,0) size 4x18 [color=#FF0000]
    207214          RenderSVGInlineText {#text} at (12,-14) size 4x18
     
    217224      RenderSVGText {text} at (235,300) size 32x18 contains 1 chunk(s)
    218225        RenderSVGInlineText {#text} at (0,-14) size 16x18
    219           chunk 1 text run 1 at (235.00,300.00) startOffset 0 endOffset 2 width 8.00: " "
     226          chunk 1 text run 1 at (235.00,300.00) startOffset 0 endOffset 2 width 16.00: "X "
    220227        RenderSVGTSpan {tspan} at (0,0) size 4x18 [color=#FF0000]
    221228          RenderSVGInlineText {#text} at (16,-14) size 4x18
     
    231238      RenderSVGText {text} at (235,325) size 28x18 contains 1 chunk(s)
    232239        RenderSVGInlineText {#text} at (0,-14) size 28x18
    233           chunk 1 text run 1 at (235.00,325.00) startOffset 0 endOffset 2 width 16.00: " X"
     240          chunk 1 text run 1 at (235.00,325.00) startOffset 0 endOffset 2 width 16.00: "X "
     241          chunk 1 text run 2 at (251.00,325.00) startOffset 0 endOffset 1 width 12.00: "X"
    234242      RenderSVGText {text} at (345,315) size 117x37 contains 2 chunk(s)
    235243        RenderSVGInlineText {#text} at (0,-14) size 117x18
     
    240248      RenderSVGText {text} at (235,350) size 28x18 contains 1 chunk(s)
    241249        RenderSVGInlineText {#text} at (0,-14) size 16x18
    242           chunk 1 text run 1 at (235.00,350.00) startOffset 0 endOffset 2 width 8.00: " "
     250          chunk 1 text run 1 at (235.00,350.00) startOffset 0 endOffset 2 width 16.00: "X "
    243251        RenderSVGInlineText {#text} at (16,-14) size 12x18
    244           chunk 1 text run 2 at (251.00,350.00) startOffset 0 endOffset 1 width 4.00: " "
     252          chunk 1 text run 2 at (251.00,350.00) startOffset 0 endOffset 1 width 12.00: "X"
    245253      RenderSVGText {text} at (345,340) size 117x37 contains 2 chunk(s)
    246254        RenderSVGInlineText {#text} at (0,-14) size 117x18
     
    251259      RenderSVGText {text} at (236,375) size 28x18 contains 1 chunk(s)
    252260        RenderSVGInlineText {#text} at (0,-14) size 28x18
    253           chunk 1 text run 1 at (236.00,375.00) startOffset 0 endOffset 2 width 8.00: "  "
     261          chunk 1 text run 1 at (236.00,375.00) startOffset 0 endOffset 2 width 16.00: "X "
     262          chunk 1 text run 2 at (252.00,375.00) startOffset 0 endOffset 1 width 12.00: "X"
    254263        RenderSVGInlineText {#text} at (0,0) size 0x0
    255264      RenderSVGText {text} at (345,365) size 117x37 contains 2 chunk(s)
  • branches/feature-branch/LayoutTests/svg/carto.net/selectionlist-expected.txt

    r24292 r24916  
    2727        RenderSVGInlineText {#text} at (0,-10) size 240x12
    2828          chunk 1 text run 1 at (240.00,747.00) startOffset 0 endOffset 38 width 180.00: "Click this text to remove the Flowers "
     29          chunk 1 text run 2 at (420.00,747.00) startOffset 0 endOffset 13 width 60.00: "selectionList"
    2930        RenderSVGTSpan {tspan} at (0,0) size 176x12
    3031          RenderSVGInlineText {#text} at (0,5) size 176x12
     
    5657          RenderSVGInlineText {#text} at (0,10) size 340x12
    5758            chunk 2 text run 1 at (220.00,232.00) startOffset 0 endOffset 23 width 112.00: "Note that one can also "
     59            chunk 2 text run 2 at (332.00,232.00) startOffset 0 endOffset 49 width 228.00: "transform the group containing the selection list"
    5860        RenderSVGTSpan {tspan} at (0,0) size 398x12
    5961          RenderSVGInlineText {#text} at (0,30) size 398x12
    6062            chunk 3 text run 1 at (220.00,252.00) startOffset 0 endOffset 5 width 24.00: "This "
     63            chunk 3 text run 2 at (244.00,252.00) startOffset 0 endOffset 74 width 344.00: "selectionlist does not react on user input (functionToCall is a undefined "
     64            chunk 3 text run 3 at (588.00,252.00) startOffset 0 endOffset 6 width 30.00: "value)"
    6165        RenderSVGTSpan {tspan} at (0,0) size 421x12
    6266          RenderSVGInlineText {#text} at (0,50) size 421x12
    6367            chunk 4 text run 1 at (220.00,272.00) startOffset 0 endOffset 14 width 62.00: "Click on this "
     68            chunk 4 text run 2 at (282.00,272.00) startOffset 0 endOffset 69 width 326.00: "text to toggle \"above\"/\"below\" mode to open the box either to top or "
     69            chunk 4 text run 3 at (608.00,272.00) startOffset 0 endOffset 6 width 33.00: "bottom"
    6470    RenderSVGContainer {g} at (38.67,38.67) size 547.66x536.72
    6571      RenderSVGContainer {g} at (378.61,169.94) size 108.80x70.49 [transform={m=((0.87,0.50)(-0.50,0.87)) t=(550.00,20.00)}]
  • branches/feature-branch/LayoutTests/svg/custom/invalid-fill-expected.txt

    r24292 r24916  
    1919          RenderSVGInlineText {#text} at (0,-14) size 546x18
    2020            chunk 1 text run 1 at (10.00,190.00) startOffset 0 endOffset 81 width 471.00: "Opera falls back to 'black' (default), Firefox to 'none', and Safari to 'black'. "
     21            chunk 1 text run 2 at (481.00,190.00) startOffset 0 endOffset 10 width 75.00: "Bug 11017."
  • branches/feature-branch/LayoutTests/svg/custom/invalid-fill-hex-expected.txt

    r24292 r24916  
    1919          RenderSVGInlineText {#text} at (0,-14) size 546x18
    2020            chunk 1 text run 1 at (10.00,190.00) startOffset 0 endOffset 81 width 471.00: "Opera falls back to 'black' (default), Firefox to 'none', and Safari to 'black'. "
     21            chunk 1 text run 2 at (481.00,190.00) startOffset 0 endOffset 10 width 75.00: "Bug 11017."
  • branches/feature-branch/LayoutTests/svg/custom/marker-overflow-clip-expected.txt

    r24292 r24916  
    1111    RenderSVGText {text} at (30,20) size 298x18 contains 1 chunk(s)
    1212      RenderSVGInlineText {#text} at (0,-14) size 298x18
    13         chunk 1 text run 1 at (30.00,20.00) startOffset 0 endOffset 45 width 294.00: " There should be a 150x150 green rect at 25x2"
     13        chunk 1 text run 1 at (30.00,20.00) startOffset 0 endOffset 45 width 298.00: "There should be a 150x150 green rect at 25x25"
  • branches/feature-branch/LayoutTests/svg/custom/text-whitespace-handling-expected.txt

    r24292 r24916  
    1515      RenderSVGText {text} at (10,80) size 109x18 contains 1 chunk(s)
    1616        RenderSVGInlineText {#text} at (0,-14) size 109x18
    17           chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 16 width 96.00: "    No leading s"
     17          chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 16 width 109.00: "No leading space"
    1818      RenderSVGText {text} at (10,100) size 107x18 contains 1 chunk(s)
    1919        RenderSVGInlineText {#text} at (0,-14) size 107x18
     
    2222        RenderSVGInlineText {#text} at (0,-14) size 153x18
    2323          chunk 1 text run 1 at (10.00,120.00) startOffset 0 endOffset 11 width 77.00: "Whitespace "
     24          chunk 1 text run 2 at (87.00,120.00) startOffset 0 endOffset 3 width 14.00: "is "
     25          chunk 1 text run 3 at (101.00,120.00) startOffset 0 endOffset 10 width 62.00: "simplified"
    2426      RenderSVGText {text} at (10,160) size 245x18 contains 1 chunk(s)
    2527        RenderSVGInlineText {#text} at (0,-14) size 245x18
  • branches/feature-branch/LayoutTests/svg/text/text-align-01-b-expected.checksum

    r24772 r24916  
    1 8e6a70af163a7808d980a8bca7a6d172
     18e2b08be77371c6473a6e710b039afcd
  • branches/feature-branch/LayoutTests/svg/text/text-align-02-b-expected.checksum

    r24772 r24916  
    1 f7f4170c359af0eec99a4faa9802b3eb
     1e4b836e5d629495bd8522838c209fbb2
  • branches/feature-branch/LayoutTests/svg/text/text-align-05-b-expected.checksum

    r24772 r24916  
    1 2612ace66227159723eecb180408084d
     1814ea9e4be11a502fd4ce559a856becb
  • branches/feature-branch/LayoutTests/svg/text/text-align-06-b-expected.checksum

    r24772 r24916  
    1 8ca024cde0e7c366d222db40536e2623
     18b8c774b6f148d51babc94195bcc6823
  • branches/feature-branch/LayoutTests/svg/text/text-intro-05-t-expected.txt

    r24605 r24916  
    22  RenderView at (0,0) size 800x600
    33layer at (0,0) size 800x600
    4   RenderSVGRoot {svg} at (0.83,0.83) size 989.17x598.33
    5     RenderSVGContainer {g} at (80,86.67) size 910x326.67
    6       RenderSVGText {text} at (119,80) size 458x36 contains 1 chunk(s)
    7         RenderSVGInlineText {#text} at (0,-28) size 458x36
     4  RenderSVGRoot {svg} at (0.83,0.83) size 982.50x598.33
     5    RenderSVGContainer {g} at (80,86.67) size 903.33x326.67
     6      RenderSVGText {text} at (119,80) size 455x36 contains 1 chunk(s)
     7        RenderSVGInlineText {#text} at (0,-28) size 455x36
    88          chunk 1 (end anchor) text run 1 at (119.00,80.00) startOffset 0 endOffset 37 width 341.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    9       RenderSVGText {text} at (48,160) size 546x41 contains 1 chunk(s)
    10         RenderSVGInlineText {#text} at (0,-32) size 546x41
     9      RenderSVGText {text} at (48,160) size 542x41 contains 1 chunk(s)
     10        RenderSVGInlineText {#text} at (0,-32) size 542x41
    1111          chunk 1 (end anchor) text run 1 at (48.00,160.00) startOffset 0 endOffset 37 width 412.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    12       RenderSVGText {text} at (119,240) size 458x36 contains 1 chunk(s)
    13         RenderSVGInlineText {#text} at (0,-28) size 458x36
     12      RenderSVGText {text} at (119,240) size 455x36 contains 1 chunk(s)
     13        RenderSVGInlineText {#text} at (0,-28) size 455x36
    1414          chunk 1 (end anchor) text run 1 at (119.00,240.00) startOffset 0 endOffset 37 width 341.00 RTL: "\x{644}\x{645}\x{627}\x{630}\x{627} \x{644}\x{627} \x{64A}\x{62A}\x{643}\x{644}\x{645}\x{648}\x{646} \x{627}\x{644}\x{644}\x{651}\x{63A}\x{629} \x{627}\x{644}\x{639}\x{631}\x{628}\x{64A}\x{629} \x{641}\x{62D}\x{633}\x{628}\x{61F}"
    1515    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
  • branches/feature-branch/LayoutTests/svg/text/text-path-01-b-expected.checksum

    r24772 r24916  
    1 a1b292729346bd1ff093e4cf701a4605
     187afb739dd957b5d9778af35ef0309b6
  • branches/feature-branch/LayoutTests/svg/text/text-spacing-01-b-expected.checksum

    r24772 r24916  
    1 6daff68c0c5f3fd0c65078ab7453a771
     1cc817a6d98771186f913bdd816627b9d
  • branches/feature-branch/LayoutTests/svg/text/text-spacing-01-b-expected.txt

    r24605 r24916  
    77        RenderSVGText {text} at (3,8) size 52x9 contains 1 chunk(s)
    88          RenderSVGInlineText {#text} at (0,-7) size 52x9
    9             chunk 1 text run 1 at (3.00,8.00) startOffset 0 endOffset 16 width 50.00: " letter-spacing:"
     9            chunk 1 text run 1 at (3.00,8.00) startOffset 0 endOffset 16 width 52.00: "letter-spacing:0"
    1010        RenderSVGText {text} at (3,16) size 38x9 contains 1 chunk(s)
    1111          RenderSVGInlineText {#text} at (0,-7) size 38x9
  • branches/feature-branch/LayoutTests/svg/text/text-text-05-t-expected.checksum

    r24772 r24916  
    1 ca079fd04e880db097a58362cf079194
     179db9993a99642bedaceea4613524645
  • branches/feature-branch/LayoutTests/svg/text/text-tselect-02-f-expected.checksum

    r24772 r24916  
    1 aef793787a3d51b18b46be9ff3bd88f4
     18134633414eba4f7ed52a725056b17a3
  • branches/feature-branch/LayoutTests/svg/text/text-tselect-02-f-expected.txt

    r24605 r24916  
    1111        RenderSVGText {text} at (10,128) size 403x55 contains 1 chunk(s)
    1212          RenderSVGInlineText {#text} at (0,-43) size 403x55
    13             chunk 1 text run 1 at (10.00,128.00) startOffset 0 endOffset 4 width 57.00: "   a"
     13            chunk 1 text run 1 at (10.00,128.00) startOffset 0 endOffset 4 width 78.00: "abc "
     14            chunk 1 text run 2 at (88.00,128.00) startOffset 0 endOffset 4 width 86.00 RTL: " \x{5D3}\x{5D4}\x{5D5}"
     15            chunk 1 text run 3 at (176.00,128.00) startOffset 0 endOffset 3 width 72.00: "123"
     16            chunk 1 text run 4 at (248.00,128.00) startOffset 0 endOffset 4 width 91.00 RTL: "\x{5D0}\x{5D1}\x{5D2} "
     17            chunk 1 text run 5 at (340.00,128.00) startOffset 0 endOffset 4 width 73.00: " def"
    1418        RenderSVGContainer {g} at (16.67,366.67) size 716.67x33.33
    1519          RenderPath {rect} at (16.67,366.67) size 166.67x33.33 [fill={[type=SOLID] [color=#0000FF]}] [data="M10.00,160.00L110.00,160.00L110.00,180.00L10.00,180.00"]
  • branches/feature-branch/LayoutTests/svg/text/text-tspan-01-b-expected.checksum

    r24772 r24916  
    1 56d459c01fa89880151a05ed45db409f
     1c2bb0197ee5fdb34d25f2a45c3400c0a
  • branches/feature-branch/WebCore/ChangeLog

    r24772 r24916  
     12007-08-08  Nikolas Zimmermann  <zimmermann@kde.org>
     2
     3        Reviewed by Oliver.
     4
     5        Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text)
     6
     7        Use drawHighlightForText() to draw the selection, instead of my home-brewn solution.
     8        Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed
     9        helper function cummulatedWidthOfSelectionRange.
     10
     11        Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple
     12        child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and
     13        LTR text cases where newlines were involved - see changed testcase results.)
     14        This affects a lot of LTR tests which actually had more than one child text box, that
     15        wasn't taken properly into account before (in terms of selection, not rendering.)
     16
     17        Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition()
     18        and by offering RTL text selection special cases in svgCharacterHitsPosition().
     19
     20        Centralized the creation of a TextStyle object for text selection/painting in a new helper function
     21        svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to
     22        centralize these calculations -> use these new helpers everywhere to avoid code duplication.
     23
     24        A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg.
     25        SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default).
     26        Discussed with Mitz.
     27
     28        * rendering/RenderSVGInlineText.cpp:
     29        (WebCore::RenderSVGInlineText::positionForCoordinates):
     30        * rendering/SVGInlineTextBox.cpp:
     31        (WebCore::SVGInlineTextBox::calculateGlyphWidth):
     32        (WebCore::SVGInlineTextBox::calculateGlyphHeight):
     33        (WebCore::SVGInlineTextBox::closestCharacterToPosition):
     34        (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
     35        (WebCore::SVGInlineTextBox::nodeAtPoint):
     36        (WebCore::SVGInlineTextBox::selectionRect):
     37        * rendering/SVGInlineTextBox.h:
     38        * rendering/SVGRenderTreeAsText.cpp:
     39        (WebCore::writeSVGInlineTextBox):
     40        (WebCore::writeSVGInlineText):
     41        * rendering/SVGRootInlineBox.cpp:
     42        (WebCore::cummulatedWidthOfInlineBoxCharacterRange): Take box start offset into account.
     43        (WebCore::svgTextStyleForInlineTextBox): New helper function.
     44        (WebCore::totalAdvanceOfInlineTextBox): Take box start offset into account.
     45        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Ditto. (correctly calculate advance values in RTL mode!)
     46        (WebCore::SVGRootInlineBox::paintSelectionForTextBox): Use GraphicsContext drawHighlightForText() instead of self-made hacks.
     47        (WebCore::SVGRootInlineBox::paintCharacterRangeForTextBox): Use new helper function svgTextStyleForInlineTextBox.
     48        * rendering/SVGRootInlineBox.h:
     49        * rendering/bidi.cpp: Add special case for SVG.
     50        (WebCore::RenderBlock::layoutInlineChildren):
     51
    1522007-07-30  Nikolas Zimmermann  <zimmermann@kde.org>
    253
  • branches/feature-branch/WebCore/rendering/RenderSVGInlineText.cpp

    r24772 r24916  
    144144
    145145    int offset = 0;
    146     textBox->svgCharacterHitsPosition(x + object->xPos(), y + object->yPos(), offset);
     146
     147    for (SVGInlineTextBox* box = textBox; box; box = static_cast<SVGInlineTextBox*>(box->nextTextBox())) {
     148        if (box->svgCharacterHitsPosition(x + object->xPos(), y + object->yPos(), offset)) {
     149            // If we're not at the end/start of the box, stop looking for other selected boxes.
     150            if (!box->m_reversed) {
     151                if (offset <= (int) box->end() + 1)
     152                    break;
     153            } else {
     154                if (offset > (int) box->start())
     155                    break;
     156            }
     157        }
     158    }
     159
    147160    return VisiblePosition(element(), offset, DOWNSTREAM);
    148161}
  • branches/feature-branch/WebCore/rendering/SVGInlineTextBox.cpp

    r24772 r24916  
    6565}
    6666
     67float SVGInlineTextBox::calculateGlyphWidth(RenderStyle* style, int offset) const
     68{
     69    return style->font().floatWidth(TextRun(textObject()->text()->characters() + offset, 1), svgTextStyleForInlineTextBox(style, this, 0));
     70}
     71
     72float SVGInlineTextBox::calculateGlyphHeight(RenderStyle* style, int offset) const
     73{
     74    ASSERT(style);
     75
     76    // This is just a guess, and the only purpose of this function is to centralize this hack.
     77    // In real-life top-top-bottom scripts this won't be enough, I fear.
     78    return style->font().ascent() + style->font().descent();
     79}
     80
    6781SVGChar* SVGInlineTextBox::closestCharacterToPosition(int x, int y, int& offset) const
    6882{
     
    7488    // Find the character within the chunk with the smallest diagonal distance
    7589    // to the current position. Check whether the passed x value hits that character.
    76     SVGTextChunk chunk;
     90    Vector<SVGChar>::iterator character;
    7791    float distance = FLT_MAX;
    7892
    79     const Font& font = textObject()->style()->font();
     93    RenderStyle* style = textObject()->style();
    8094
    8195    Vector<SVGTextChunk>::iterator it = chunks.begin();
    82     Vector<SVGTextChunk>::iterator end = chunks.end();
    83 
    84     for (; it != end; ++it) {
     96    Vector<SVGTextChunk>::iterator itEnd = chunks.end();
     97
     98    for (; it != itEnd; ++it) {
    8599        SVGTextChunk& curChunk = *it;
    86100
     
    90104        unsigned int chunkOffset = 0;       
    91105        unsigned int firstRangeInFirstChunkStartOffset = 0;
    92 
     106   
    93107        for (; boxIt != boxEnd; ++boxIt) {
    94108            SVGInlineBoxCharacterRange& range = *boxIt;
     
    102116            }
    103117
     118            Vector<SVGChar>::iterator closestCharacter;
    104119            unsigned int closestOffset = UINT_MAX;
    105120
     
    110125
    111126            for (Vector<SVGChar>::iterator itChar = itCharBegin; itChar != itCharEnd; ++itChar) {
    112                 unsigned int newOffset = (itChar - itCharBegin) + firstRangeInFirstChunkStartOffset;
    113 
    114                 float glyphWidth = font.floatWidth(TextRun(textObject()->text()->characters() + newOffset, 1), TextStyle(0, 0));
    115                 float glyphHeight = font.ascent() + font.descent();
     127                unsigned int newOffset = start() + (itChar - itCharBegin) + firstRangeInFirstChunkStartOffset;
     128
     129                // Take RTL text into account and pick right glyph width/height.
     130                float glyphWidth = 0.0;
     131                float glyphHeight = 0.0;
     132
     133                if (!m_reversed) {
     134                    glyphWidth = calculateGlyphWidth(style, newOffset);
     135                    glyphHeight = calculateGlyphHeight(style, newOffset);
     136                } else {   
     137                    glyphWidth = calculateGlyphWidth(style, start() + end() - newOffset);
     138                    glyphHeight = calculateGlyphHeight(style, start() + end() - newOffset);
     139                    newOffset = start() + end() - newOffset;
     140                }
    116141
    117142                // Calculate distances relative to the glyph mid-point. I hope this is accurate enough.
     
    123148                    distance = newDistance;
    124149                    closestOffset = newOffset;
     150                    closestCharacter = itChar;
    125151                }
    126152            }
     
    131157
    132158            // Record current chunk, if it contains the current closest character next to the mouse.
    133             chunk = curChunk;
     159            character = closestCharacter;
    134160            offset = closestOffset;
    135161        }
    136162    }
    137163
    138     if (!chunk.start) {
     164    if (!character) {
    139165        offset = 0;
    140166        return 0;
    141167    }
    142168
    143     // Be very careful here! The chunk.start offset already takes the first range's
    144     // startOffset into account! Need to subtract it here.
    145     ASSERT(!chunk.boxes.isEmpty());
    146     Vector<SVGInlineBoxCharacterRange>::iterator boxStart = chunk.boxes.begin();
    147 
    148     return (chunk.start + offset - (*boxStart).startOffset);
     169    return character;
    149170}
    150171
     
    158179    RenderStyle* style = textObject()->style(m_firstLine);
    159180
    160     float glyphHeight = style->font().ascent() + style->font().descent();
    161 
    162     // FIXME: Several things need to be done:
    163     // (#13909) This code does not handle bottom-to-top vertical text (low priority).
    164     // (#13909) This code does not handle top-to-bottom vertical text (higher priority).
    165     // (#13010) This code does not handle right-to-left selection yet (highest priority).
     181    float glyphWidth = calculateGlyphWidth(style, offset);
     182    float glyphHeight = calculateGlyphHeight(style, offset);
     183
     184    if (m_reversed)
     185        offset++;
     186
     187    // FIXME: todo list
     188    // (#13910) This code does not handle bottom-to-top/top-to-bottom vertical text.
    166189
    167190    // Check whether y position hits the current character
     
    170193
    171194    // Check whether x position hits the current character
    172     float glyphWidth = style->font().floatWidth(TextRun(textObject()->text()->characters() + offset, 1), TextStyle(0, 0));
    173     if (x < charAtPos.x)
     195    if (x < charAtPos.x) {
     196        if (offset > 0 && !m_reversed)
     197            return true;
     198        else if (offset < (int) end() && m_reversed)
     199            return true;
     200
     201        return false;
     202    }
     203
     204    // If we are past the last glyph of this box, don't mark it as 'hit' anymore.
     205    if (x >= charAtPos.x + glyphWidth && offset == (int) end())
    174206        return false;
    175207
    176208    // Snap to character at half of it's advance
    177209    if (x >= charAtPos.x + glyphWidth / 2.0)
    178         offset++;
     210        offset += m_reversed ? -1 : 1;
    179211
    180212    return true;
     
    201233    RenderStyle* style = textObject()->style(m_firstLine);
    202234    IntRect rect = selectionRect(0, -style->font().ascent(), 0, len());
     235
    203236    if (object()->style()->visibility() == VISIBLE && rect.contains(x, y)) {
    204237        object()->updateHitTestResult(result, IntPoint(x - tx, y - ty));
     
    221254    Vector<SVGTextChunk>& chunks = const_cast<Vector<SVGTextChunk>& >(rootBox->svgTextChunks());
    222255
    223     const Font& font = textObject()->style()->font();
     256    RenderStyle* style = textObject()->style();
     257    const Font& font = style->font();
    224258
    225259    FloatRect selectionRect;
    226260   
    227261    Vector<SVGTextChunk>::iterator it = chunks.begin();
    228     Vector<SVGTextChunk>::iterator end = chunks.end();
    229 
    230     for (; it != end; ++it) {
     262    Vector<SVGTextChunk>::iterator itEnd = chunks.end();
     263
     264    for (; it != itEnd; ++it) {
    231265        SVGTextChunk& curChunk = *it;
    232266
     
    236270        unsigned int chunkOffset = 0;       
    237271        unsigned int firstRangeInFirstChunkStartOffset = 0;
    238 
     272   
    239273        for (; boxIt != boxEnd; ++boxIt) {
    240274            SVGInlineBoxCharacterRange& range = *boxIt;
     
    248282            }
    249283
    250             // Figure out chunk size
     284            // Walk chunk finding closest character
    251285            Vector<SVGChar>::iterator itCharBegin = curChunk.start + chunkOffset - firstRangeInFirstChunkStartOffset + range.startOffset;
    252286            Vector<SVGChar>::iterator itCharEnd = curChunk.start + chunkOffset - firstRangeInFirstChunkStartOffset + range.endOffset;
     
    254288
    255289            for (Vector<SVGChar>::iterator itChar = itCharBegin; itChar != itCharEnd; ++itChar) {
    256                 unsigned int newOffset = (itChar - itCharBegin) + firstRangeInFirstChunkStartOffset;
    257                 float glyphWidth = font.floatWidth(TextRun(textObject()->text()->characters() + newOffset, 1), TextStyle(0, 0));
    258  
     290                unsigned int newOffset = start() + (itChar - itCharBegin) + firstRangeInFirstChunkStartOffset;
     291
     292                // Take RTL text into account and pick right glyph width/height.
     293                float glyphWidth = 0.0;
     294                float glyphHeight = 0.0;
     295
     296                if (!m_reversed) {
     297                    glyphWidth = calculateGlyphWidth(style, newOffset);
     298                    glyphHeight = calculateGlyphHeight(style, newOffset);
     299                } else {   
     300                    glyphWidth = calculateGlyphWidth(style, start() + end() - newOffset);
     301                    glyphHeight = calculateGlyphHeight(style, start() + end() - newOffset);
     302                }
     303
    259304                float x1 = (*itChar).x;
    260305                float x2 = (*itChar).x + glyphWidth;
     
    271316                selectionRect.unite(glyphRect);
    272317            }
     318
     319            chunkOffset += range.endOffset - range.startOffset;
    273320        }
    274321    }
  • branches/feature-branch/WebCore/rendering/SVGInlineTextBox.h

    r21705 r24916  
    4848
    4949        SVGRootInlineBox* svgRootInlineBox() const;
    50  
    51     protected:
     50
     51        // Helper functions shared with SVGRootInlineBox     
     52        float calculateGlyphWidth(RenderStyle*, int offset) const;
     53        float calculateGlyphHeight(RenderStyle*, int offset) const;
     54
     55    private:
    5256        friend class RenderSVGInlineText;
    5357        bool svgCharacterHitsPosition(int x, int y, int& offset) const;
  • branches/feature-branch/WebCore/rendering/SVGRenderTreeAsText.cpp

    r24292 r24916  
    356356}
    357357
    358 static inline void writeSVGInlineText(TextStream& ts, const RenderSVGInlineText& text, int indent)
    359 {
    360     SVGInlineTextBox* textBox = static_cast<SVGInlineTextBox*>(text.firstTextBox());
    361 
    362     if (!textBox)
    363         return;
    364 
     358static inline void writeSVGInlineTextBox(TextStream& ts, SVGInlineTextBox* textBox, int indent)
     359{
    365360    SVGRootInlineBox* rootBox = textBox->svgRootInlineBox();
    366361    ASSERT(rootBox);
    367    
     362
    368363    if (!rootBox)
    369364        return;
     
    438433            }
    439434
    440             ts << ": " << quoteAndEscapeNonPrintables(String(textBox->textObject()->text()).substring(range.startOffset, offset)) << endl;
     435            ts << ": " << quoteAndEscapeNonPrintables(String(textBox->textObject()->text()).substring(textBox->start() + range.startOffset, offset)) << endl;
    441436
    442437            j++;
     
    445440        i++;
    446441    }
     442}
     443
     444static inline void writeSVGInlineText(TextStream& ts, const RenderSVGInlineText& text, int indent)
     445{
     446    for (InlineTextBox* box = text.firstTextBox(); box; box = box->nextTextBox())
     447        writeSVGInlineTextBox(ts, static_cast<SVGInlineTextBox*>(box), indent);
    447448}
    448449
  • branches/feature-branch/WebCore/rendering/SVGRootInlineBox.cpp

    r24906 r24916  
    3535#include "RenderSVGRoot.h"
    3636#include "SVGInlineFlowBox.h"
     37#include "SVGInlineTextBox.h"
    3738#include "SVGPaintServer.h"
    3839#include "SVGRenderSupport.h"
     
    195196}
    196197
    197 float SVGRootInlineBox::cummulatedWidthOfSelectionRange(InlineTextBox* textBox, int startPos, int endPos, int length, int boxStartOffset)
    198 {
    199     int chunkStartPos = boxStartOffset;
    200     int chunkEndPos = chunkStartPos + length;
    201 
    202     if ((startPos > chunkStartPos && endPos > chunkEndPos) || chunkStartPos >= endPos)
    203         return FLT_MAX;
    204 
    205     if (endPos > chunkEndPos)
    206         endPos = chunkEndPos;
    207 
    208     if (startPos < chunkStartPos)
    209         startPos = chunkStartPos;
    210 
    211     ASSERT(startPos >= chunkStartPos);
    212     ASSERT(endPos <= chunkEndPos);
    213 
    214     ASSERT(startPos < endPos);
    215 
    216     RenderText* text = textBox->textObject();
    217     const Font& font = text->style()->font();
    218 
    219     return font.floatWidth(TextRun(text->characters() + startPos, endPos - startPos), TextStyle(0, 0));
    220 }
    221 
    222198float cummulatedWidthOfInlineBoxCharacterRange(SVGInlineBoxCharacterRange& range)
    223199{
     
    228204    InlineTextBox* textBox = static_cast<InlineTextBox*>(range.box);
    229205    RenderText* text = textBox->textObject();
    230     const Font& font = text->style()->font();
    231 
    232     return font.floatWidth(TextRun(text->characters() + range.startOffset, range.endOffset - range.startOffset), TextStyle(0, 0));
     206    RenderStyle* style = text->style();
     207
     208    return style->font().floatWidth(TextRun(text->characters() + textBox->start() + range.startOffset, range.endOffset - range.startOffset), svgTextStyleForInlineTextBox(style, textBox, 0));
    233209}
    234210
     
    245221    // FIXME: Wild guess - works for the W3C 1.1 vertical text examples - not really heavily tested so far.
    246222    return (range.endOffset - range.startOffset) * (font.ascent() + font.descent());
     223}
     224
     225TextStyle svgTextStyleForInlineTextBox(RenderStyle* style, const InlineTextBox* textBox, float xPos)
     226{
     227    ASSERT(textBox);
     228    ASSERT(style);
     229
     230    return TextStyle(false, xPos, textBox->m_toAdd, textBox->m_reversed, textBox->m_dirOverride || style->visuallyOrdered());
    247231}
    248232
     
    373357        to = textBox->len();
    374358
    375     RenderText* text = static_cast<RenderText*>(textBox->object());
    376     const Font& font = text->style()->font();
     359    RenderStyle* style = textBox->object()->style();
     360    SVGInlineTextBox* svgTextBox = static_cast<SVGInlineTextBox*>(textBox);
    377361
    378362    for (int i = from; i < to; ++i) {
     363        int offset = textBox->m_reversed ? textBox->end() - i : textBox->start() + i;
     364
    379365        if (!isVerticalText)
    380             totalAdvance += font.floatWidth(TextRun(text->text()->characters() + i, 1), TextStyle(0, 0));
     366            totalAdvance += svgTextBox->calculateGlyphWidth(style, offset);
    381367        else
    382             totalAdvance += font.ascent() + font.descent();
     368            totalAdvance += svgTextBox->calculateGlyphHeight(style, offset);
    383369    }
    384370}
     
    596582    ASSERT(style);
    597583
    598     const Font& font = style->font();
     584    SVGInlineTextBox* svgTextBox = static_cast<SVGInlineTextBox*>(textBox);
     585
    599586    unsigned length = textBox->len();
    600587    bool isVerticalText = isVerticalWritingMode(style->svgStyle());
     
    606593
    607594        float angle = 0.0;
    608         float glyphWidth = font.floatWidth(TextRun(text->text()->characters() + textBox->start() + i, 1), TextStyle(0, 0));
    609         float glyphHeight = font.ascent() + font.descent();
     595        float glyphWidth = 0.0;
     596        float glyphHeight = 0.0;
     597
     598        if (!textBox->m_reversed) {
     599            glyphWidth = svgTextBox->calculateGlyphWidth(style, textBox->start() + i);
     600            glyphHeight = svgTextBox->calculateGlyphHeight(style, textBox->start() + i);
     601        } else {
     602            glyphWidth = svgTextBox->calculateGlyphWidth(style, textBox->end() - i);
     603            glyphHeight = svgTextBox->calculateGlyphHeight(style, textBox->end() - i);
     604        }
    610605
    611606        bool assignedX = false;
     
    772767
    773768#if DEBUG_CHUNK_BUILDING > 1
    774             fprintf(stderr, " -> Handle inline text box (%p) with %i characters, handlingTextPath=%i\n", textBox, length, (int) info.handlingTextPath);
     769            fprintf(stderr, " -> Handle inline text box (%p) with %i characters (start: %i, end: %i), handlingTextPath=%i\n",
     770                            textBox, length, textBox->start(), textBox->end(), (int) info.handlingTextPath);
    775771#endif
    776772
     
    825821#endif
    826822   
    827                     // Prepare for next chunk, if we're not at the end   
     823                    // Prepare for next chunk, if we're not at the end
    828824                    startTextChunk(info);
    829825                    if (i + 1 == length) {
     
    938934}
    939935
    940 void SVGRootInlineBox::paintSelectionForTextBox(InlineTextBox* textBox, int boxStartOffset, SVGChar* svgCharPtr, const UChar* chars, int length, GraphicsContext* p, RenderStyle* style, const Font* f)
     936void SVGRootInlineBox::paintSelectionForTextBox(InlineTextBox* textBox, int boxStartOffset, const SVGChar& svgChar, const UChar* chars, int length, GraphicsContext* p, RenderStyle* style, const Font* f)
    941937{
    942938    if (textBox->selectionState() == RenderObject::SelectionNone)
     
    947943
    948944    if (startPos >= endPos)
    949         return;
    950 
    951     float width = cummulatedWidthOfSelectionRange(textBox, startPos, endPos, length, boxStartOffset);
    952     if (width == FLT_MAX)
    953945        return;
    954946
     
    963955        color = Color(0xff - color.red(), 0xff - color.green(), 0xff - color.blue());
    964956
     957    // Map from text box positions and a given start offset to chunk positions
     958    // 'boxStartOffset' represents the beginning of the text chunk.
     959    if ((startPos > boxStartOffset && endPos > boxStartOffset + length) || boxStartOffset >= endPos)
     960        return;
     961
     962    if (endPos > boxStartOffset + length)
     963        endPos = boxStartOffset + length;
     964
     965    if (startPos < boxStartOffset)
     966        startPos = boxStartOffset;
     967
     968    ASSERT(startPos >= boxStartOffset);
     969    ASSERT(endPos <= boxStartOffset + length);
     970    ASSERT(startPos < endPos);
     971
    965972    p->save();
    966973
    967     SVGChar firstChar = *(svgCharPtr + (startPos > boxStartOffset ? startPos - boxStartOffset : 0));
    968     if (!firstChar.transform.isIdentity())
    969         p->concatCTM(firstChar.transform);
    970 
    971     FloatRect selectionRect(firstChar.x, firstChar.y - f->ascent(), width, f->ascent() + f->descent());
    972     p->fillRect(selectionRect, color);
     974    if (!svgChar.transform.isIdentity())
     975        p->concatCTM(svgChar.transform);
     976
     977    int adjust = startPos >= boxStartOffset ? boxStartOffset : 0;
     978    p->drawHighlightForText(TextRun(textBox->textObject()->text()->characters() + textBox->start() + boxStartOffset, length),
     979                            IntPoint((int) svgChar.x, (int) svgChar.y - f->ascent()), f->ascent() + f->descent(),
     980                            svgTextStyleForInlineTextBox(style, textBox, svgChar.x), color,
     981                            startPos - adjust, endPos - adjust);
    973982
    974983    p->restore();
     
    11281137        if (haveSelection && !markedTextUsesUnderlines) {
    11291138            int boxStartOffset = chars - text->characters() - textBox->start();
    1130             paintSelectionForTextBox(textBox, boxStartOffset, const_cast<SVGChar*>(&svgChar), chars, length, paintInfo.context, styleToUse, font);
     1139            paintSelectionForTextBox(textBox, boxStartOffset, svgChar, chars, length, paintInfo.context, styleToUse, font);
    11311140        }
    11321141    }
     
    12271236    }
    12281237
    1229     TextStyle textStyle(0, svgChar.x, textBox->m_toAdd, textBox->m_reversed, textBox->m_dirOverride || styleToUse->visuallyOrdered());
    1230 
    12311238    ASSERT(!paintSelectedTextOnly && !paintSelectedTextSeparately);
    1232     paintInfo.context->drawText(TextRun(chars, length), IntPoint(svgChar.x, svgChar.y), textStyle);
     1239    paintInfo.context->drawText(TextRun(chars, length), IntPoint((int) svgChar.x, (int) svgChar.y), svgTextStyleForInlineTextBox(styleToUse, textBox, svgChar.x));
    12331240
    12341241    // Paint decorations
  • branches/feature-branch/WebCore/rendering/SVGRootInlineBox.h

    r24605 r24916  
    5151    // Used by SVGInlineTextBox
    5252    const Vector<SVGTextChunk>& svgTextChunks() const;
    53     float cummulatedWidthOfSelectionRange(InlineTextBox*, int startPos, int endPos, int length, int boxStartOffset = 0);
    5453
    5554private:
     
    6463    void layoutTextChunks();
    6564
    66     void paintSelectionForTextBox(InlineTextBox*, int boxStartOffset, SVGChar*, const UChar*, int length, GraphicsContext*, RenderStyle*, const Font*);
     65    void paintSelectionForTextBox(InlineTextBox*, int boxStartOffset, const SVGChar&, const UChar*, int length, GraphicsContext*, RenderStyle*, const Font*);
    6766
    6867    void paintInlineBoxes(RenderObject::PaintInfo&, int tx, int ty, InlineFlowBox* start, Vector<SVGChar>::iterator&);
     
    7675};
    7776
    78 // Shared with SVGRenderTreeAsText
     77// Shared with SVGRenderTreeAsText / SVGInlineTextBox
     78TextStyle svgTextStyleForInlineTextBox(RenderStyle* style, const InlineTextBox* textBox, float xPos);
    7979FloatPoint topLeftPositionOfCharacterRange(Vector<SVGChar>::iterator start, Vector<SVGChar>::iterator end);
    8080float cummulatedWidthOfInlineBoxCharacterRange(SVGInlineBoxCharacterRange& range);
  • branches/feature-branch/WebCore/rendering/bidi.cpp

    r21607 r24916  
    16531653
    16541654        BidiContext *startEmbed;
    1655         if (style()->direction() == LTR) {
     1655        if (style()->direction() == LTR
     1656#if ENABLE(SVG)   
     1657            || (style()->unicodeBidi() == UBNormal && isSVGText())
     1658#endif
     1659           ) {
    16561660            startEmbed = new BidiContext(0, LeftToRight, NULL, style()->unicodeBidi() == Override);
    16571661            bidi.status.eor = LeftToRight;
Note: See TracChangeset for help on using the changeset viewer.