layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0,0) size 800x600
    RenderSVGContainer {g} at (1,52) size 718x432
      RenderSVGText {text} at (19,32) size 66x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 66x35
          chunk 1 text run 1 at (19.00,61.00) startOffset 0 endOffset 5 width 66.00: "Plain"
      RenderSVGText {text} at (142,32) size 69x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 69x35
          chunk 1 text run 1 at (142.00,61.00) startOffset 0 endOffset 6 width 68.40: "Italic"
      RenderSVGText {text} at (257,31) size 64x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 64x35
          chunk 1 text run 1 at (257.00,60.00) startOffset 0 endOffset 4 width 63.60: "Bold"
      RenderSVGText {text} at (224,81) size 129x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 129x35
          chunk 1 text run 1 at (224.00,110.00) startOffset 0 endOffset 9 width 129.00: "Underline"
      RenderSVGText {text} at (39,118) size 168x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 168x35
          chunk 1 text run 1 at (39.00,147.00) startOffset 0 endOffset 12 width 167.40: "Line through"
      RenderSVGText {text} at (1,171) size 354x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 354x35
          chunk 1 text run 1 at (1.00,200.00) startOffset 0 endOffset 27 width 354.00: "Bold, italic and underlined"
      RenderSVGContainer {g} at (81,372) size 638x112
        RenderSVGRect {rect} at (81,373) size 638x111 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [x=50.00] [y=225.00] [width=380.00] [height=64.00]
        RenderSVGContainer {g} at (91,372) size 580x112
          RenderSVGText {text} at (55,223) size 344x27 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 344x27
              chunk 1 text run 1 at (55.00,245.00) startOffset 0 endOffset 34 width 343.80: "Each line of text which flows in a"
          RenderSVGText {text} at (55,243) size 348x27 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 348x27
              chunk 1 text run 1 at (55.00,265.00) startOffset 0 endOffset 32 width 347.40: "rectangular box has to be broken"
          RenderSVGText {text} at (55,263) size 213x27 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 213x27
              chunk 1 text run 1 at (55.00,285.00) startOffset 0 endOffset 21 width 213.00: "into separated lines."
    RenderSVGText {text} at (10,304) size 269x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 269x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
selection start: position 0 of child 0 {#text} of child 1 {text} of child 13 {g} of child 32 {svg} of document
selection end:   position 16 of child 0 {#text} of child 15 {text} of child 32 {svg} of document
