Changeset 29700 in webkit
- Timestamp:
- Jan 21, 2008 2:56:53 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 6 added
- 2 deleted
- 86 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r29697 r29700 1 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> 2 3 Reviewed by Eric. 4 5 Update layout test results after adding missing-glyph support. 6 Add new layout test svg/custom/glyph-selection-lang-attribute.svg. 7 8 * platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: 9 * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: 10 * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: 11 * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: 12 * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: 13 * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: 14 * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.checksum: 15 * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.png: 16 * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: 17 * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: 18 * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: 19 * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: 20 * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum: 21 * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png: 22 * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: 23 * platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: 24 * platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: 25 * platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: 26 * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: 27 * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: 28 * platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: 29 * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt: 30 * platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt: 31 * platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.checksum: 32 * platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.png: 33 * platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: 34 * platform/mac/svg/batik/text/textEffect-expected.checksum: 35 * platform/mac/svg/batik/text/textEffect-expected.png: 36 * platform/mac/svg/batik/text/textEffect-expected.txt: 37 * platform/mac/svg/batik/text/textEffect3-expected.checksum: 38 * platform/mac/svg/batik/text/textEffect3-expected.png: 39 * platform/mac/svg/batik/text/textEffect3-expected.txt: 40 * platform/mac/svg/batik/text/textPosition2-expected.txt: 41 * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum: 42 * platform/mac/svg/custom/dominant-baseline-hanging-expected.png: 43 * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.checksum: Added. 44 * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.png: Added. 45 * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt: Added. 46 * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: 47 * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.checksum: 48 * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.png: 49 * platform/mac/svg/hixie/mixed/008-expected.checksum: 50 * platform/mac/svg/hixie/mixed/008-expected.png: 51 * platform/mac/svg/hixie/mixed/009-expected.checksum: 52 * platform/mac/svg/hixie/mixed/009-expected.png: 53 * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.checksum: 54 * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.png: 55 * platform/mac/svg/text/text-altglyph-01-b-expected.checksum: 56 * platform/mac/svg/text/text-altglyph-01-b-expected.png: 57 * platform/mac/svg/text/text-altglyph-01-b-expected.txt: 58 * platform/mac/svg/text/text-text-04-t-expected.checksum: 59 * platform/mac/svg/text/text-text-04-t-expected.png: 60 * platform/mac/svg/text/text-text-04-t-expected.txt: 61 * platform/mac/svg/text/text-text-05-t-expected.checksum: 62 * platform/mac/svg/text/text-text-05-t-expected.png: 63 * platform/mac/svg/text/text-text-05-t-expected.txt: 64 * platform/mac/svg/text/text-text-06-t-expected.checksum: 65 * platform/mac/svg/text/text-text-06-t-expected.png: 66 * platform/mac/svg/text/text-text-06-t-expected.txt: 67 * svg/custom/glyph-selection-lang-attribute.svg: Added. 68 1 69 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> 2 70 -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt
r29246 r29700 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (4 3,39.38) size 288x237.626 RenderSVGContainer {g} at (42,37.64) size 289x244.36 7 7 RenderSVGContainer {g} at (70,92) size 149x133 8 8 RenderSVGText {text} at (70,110) size 149x23 contains 1 chunk(s) … … 15 15 RenderSVGInlineText {#text} at (0,-18) size 80x23 16 16 chunk 1 text run 1 at (100.00,220.00) startOffset 0 endOffset 10 width 80.00: "Text at 9s" 17 RenderSVGContainer {g} at (4 3,39.38) size 288x237.6218 RenderSVGText {text} at (0,0) size 77x 16contains 1 chunk(s)19 RenderSVGInlineText {#text} at (0,-1 4) size 77x1617 RenderSVGContainer {g} at (42,37.64) size 289x244.36 18 RenderSVGText {text} at (0,0) size 77x20 contains 1 chunk(s) 19 RenderSVGInlineText {#text} at (0,-16) size 77x20 20 20 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 11 width 76.84: "It's alive!" 21 RenderSVGText {text} at (0,0) size 154x 33contains 1 chunk(s)22 RenderSVGInlineText {#text} at (0,- 28) size 154x3321 RenderSVGText {text} at (0,0) size 154x40 contains 1 chunk(s) 22 RenderSVGInlineText {#text} at (0,-32) size 154x40 23 23 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 11 width 153.68: "It's alive!" 24 RenderSVGText {text} at (100,270) size 231x 49contains 1 chunk(s)25 RenderSVGInlineText {#text} at (0,-4 2) size 231x4924 RenderSVGText {text} at (100,270) size 231x60 contains 1 chunk(s) 25 RenderSVGInlineText {#text} at (0,-48) size 231x60 26 26 chunk 1 text run 1 at (100.00,270.00) startOffset 0 endOffset 11 width 230.52: "It's alive!" 27 RenderSVGContainer {g} at (4 3,39.38) size 74.68x52.36[transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,90.00)}]28 RenderSVGText {text} at (0,0) size 77x 16contains 1 chunk(s)29 RenderSVGInlineText {#text} at (0,-1 4) size 77x1627 RenderSVGContainer {g} at (42,37.64) size 76.68x55.82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,90.00)}] 28 RenderSVGText {text} at (0,0) size 77x20 contains 1 chunk(s) 29 RenderSVGInlineText {#text} at (0,-16) size 77x20 30 30 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 11 width 76.84: "It's alive!" 31 31 RenderSVGInlineText {#text} at (0,0) size 0x0 -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
r29246 r29700 29 29 RenderSVGInlineText {#text} at (0,-17) size 74x22 30 30 chunk 1 text run 1 at (65.00,210.00) startOffset 0 endOffset 8 width 74.00: "SVG Font" 31 RenderSVGContainer {g} at (165,1 54) size 210x83[transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]31 RenderSVGContainer {g} at (165,172) size 210x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}] 32 32 RenderPath {line} at (165,219.50) size 210x1 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L210.00,0.00"] 33 RenderSVGText {text} at (0,0) size 210x 83contains 1 chunk(s)34 RenderSVGInlineText {#text} at (0,- 66) size 210x8333 RenderSVGText {text} at (0,0) size 210x60 contains 1 chunk(s) 34 RenderSVGInlineText {#text} at (0,-48) size 210x60 35 35 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: "Ay\x{D6}@\x{E7}" 36 36 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
r29246 r29700 19 19 RenderPath {path} at (291.24,92.25) size 48.13x51.86 [transform={m=((1.00,0.00)(0.00,1.00)) t=(4199.00,0.00)}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M1306.00,412.00C1235.33,412.00,1174.33,422.33,1123.00,443.00C1071.67,463.67,1030.33,494.33,999.00,535.00C963.00,499.67,928.00,473.00,894.00,455.00C860.00,437.00,826.33,428.00,793.00,428.00C719.00,428.00,649.33,458.00,584.00,518.00C518.67,578.00,485.67,644.33,485.00,717.00C485.00,840.33,533.33,953.00,630.00,1055.00C726.67,1157.00,837.00,1208.00,961.00,1208.00C989.00,1208.00,1012.33,1197.67,1031.00,1177.00C1049.67,1156.33,1059.00,1131.33,1059.00,1102.00C1059.00,1062.00,1025.67,1032.33,959.00,1013.00C870.33,987.67,807.67,958.67,771.00,926.00C717.00,878.67,690.00,809.00,690.00,717.00C690.00,697.67,699.00,679.00,717.00,661.00C737.67,641.00,763.33,631.67,794.00,633.00C852.00,635.67,905.67,689.67,955.00,795.00C999.67,887.00,1039.33,933.00,1074.00,933.00C1102.00,933.00,1124.67,922.67,1142.00,902.00C1159.33,881.33,1168.00,856.00,1168.00,826.00C1168.00,812.67,1166.00,792.67,1162.00,766.00C1158.00,739.33,1155.67,719.33,1155.00,706.00C1155.00,662.67,1173.67,635.33,1211.00,624.00C1225.67,619.33,1257.33,617.00,1306.00,617.00C1397.33,617.00,1461.33,639.33,1498.00,684.00C1531.33,724.00,1548.00,790.33,1548.00,883.00C1548.00,1046.33,1482.33,1179.67,1351.00,1283.00C1231.00,1377.67,1087.67,1425.00,921.00,1425.00C727.00,1425.00,575.00,1351.67,465.00,1205.00C365.67,1074.33,316.00,910.00,316.00,712.00C316.00,529.33,374.33,375.33,491.00,250.00C612.33,119.33,768.33,54.00,959.00,54.00C1013.00,54.00,1074.00,64.33,1142.00,85.00L1317.00,150.00C1346.33,160.67,1365.33,166.00,1374.00,166.00C1401.33,166.00,1425.00,155.33,1445.00,134.00C1465.00,112.67,1475.00,87.33,1475.00,58.00C1475.00,-5.33,1404.00,-56.67,1262.00,-96.00C1154.67,-125.33,1054.33,-140.00,961.00,-140.00C867.00,-140.00,771.00,-122.00,673.00,-86.00C575.00,-50.00,490.67,-1.33,420.00,60.00C213.33,238.67,110.00,456.00,110.00,712.00C110.00,968.00,180.67,1182.00,322.00,1354.00C472.00,1538.00,671.67,1630.00,921.00,1630.00C1146.33,1630.00,1339.33,1562.33,1500.00,1427.00C1668.67,1283.67,1753.00,1102.33,1753.00,883.00C1753.00,733.00,1716.33,617.67,1643.00,537.00C1566.33,453.67,1454.00,412.00,1306.00,412.00"] 20 20 RenderPath {path} at (346.96,108.86) size 25.31x44.18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M770.00,-196.00C770.00,-278.67,750.00,-340.67,710.00,-382.00C670.00,-423.33,609.33,-444.33,528.00,-445.00C471.33,-445.00,417.67,-434.33,367.00,-413.00C303.00,-385.00,271.00,-346.67,271.00,-298.00C271.00,-262.00,293.67,-244.00,339.00,-244.00C363.00,-244.00,390.00,-252.00,420.00,-268.00C450.00,-284.00,482.33,-292.33,517.00,-293.00C549.67,-292.33,574.00,-284.33,590.00,-269.00C606.00,-253.67,614.00,-231.00,614.00,-201.00C614.00,-169.00,601.67,-140.33,577.00,-115.00C552.33,-89.67,514.33,-67.33,463.00,-48.00C357.00,-24.00,272.00,26.67,208.00,104.00C139.33,186.00,105.00,286.00,105.00,404.00C105.00,539.33,150.00,679.00,240.00,823.00C340.00,983.00,452.67,1063.00,578.00,1063.00C643.33,1063.00,716.33,1047.67,797.00,1017.00C899.00,977.67,950.00,929.67,950.00,873.00C950.00,847.67,941.67,825.33,925.00,806.00C908.33,786.67,887.67,776.67,863.00,776.00C843.67,776.00,827.00,781.67,813.00,793.00C799.00,804.33,785.00,816.00,771.00,828.00C731.67,859.33,667.33,875.00,578.00,875.00C510.00,875.00,442.67,814.33,376.00,693.00C315.33,581.67,285.00,485.33,285.00,404.00C285.00,316.00,315.00,246.67,375.00,196.00C431.00,148.67,503.00,125.00,591.00,125.00C631.00,125.00,673.67,135.67,719.00,157.00L835.00,219.00C855.00,229.67,869.33,235.00,878.00,235.00C902.67,235.00,924.00,225.33,942.00,206.00C960.00,186.67,969.00,164.00,969.00,138.00C969.00,69.33,883.67,10.00,713.00,-40.00C732.33,-65.33,746.67,-91.00,756.00,-117.00C765.33,-143.00,770.00,-169.33,770.00,-196.00"] 21 RenderSVGContainer {g} at (165, 74) size 210x83[transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,140.00)}]22 RenderSVGText {text} at (0,0) size 210x 83contains 1 chunk(s)23 RenderSVGInlineText {#text} at (0,- 66) size 210x8321 RenderSVGContainer {g} at (165,92) size 210x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,140.00)}] 22 RenderSVGText {text} at (0,0) size 210x60 contains 1 chunk(s) 23 RenderSVGInlineText {#text} at (0,-48) size 210x60 24 24 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: "Ay\x{D6}@\x{E7}" 25 25 RenderSVGText {text} at (7,210) size 130x22 contains 1 chunk(s) 26 26 RenderSVGInlineText {#text} at (0,-17) size 130x22 27 27 chunk 1 text run 1 at (7.00,210.00) startOffset 0 endOffset 15 width 130.00: "Glyphs over SVG" 28 RenderSVGContainer {g} at (165,1 44) size 210x83[transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,210.00)}]29 RenderSVGText {text} at (0,0) size 210x 83contains 1 chunk(s)30 RenderSVGInlineText {#text} at (0,- 66) size 210x8328 RenderSVGContainer {g} at (165,162) size 210x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,210.00)}] 29 RenderSVGText {text} at (0,0) size 210x60 contains 1 chunk(s) 30 RenderSVGInlineText {#text} at (0,-48) size 210x60 31 31 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: "Ay\x{D6}@\x{E7}" 32 32 RenderSVGContainer {g} at (168.84,155.62) size 203.44x71.34 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,210.00)}] -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 480x360 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 RenderSVGContainer {g} at (20,22) size 420x22 25 RenderSVGContainer {g} at (20,22) size 420x224 6 6 RenderSVGText {text} at (111,50) size 258x36 contains 1 chunk(s) 7 7 RenderSVGInlineText {#text} at (0,-28) size 258x36 … … 21 21 RenderPath {line} at (0,-0.50) size 30x1 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L30.00,0.00"] 22 22 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 23 RenderSVGContainer {g} at (20,80) size 420x16 4[transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}]24 RenderSVGContainer {g} at (20,80) size 420x4 423 RenderSVGContainer {g} at (20,80) size 420x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}] 24 RenderSVGContainer {g} at (20,80) size 420x46 25 25 RenderSVGText {text} at (0,0) size 169x17 contains 1 chunk(s) 26 26 RenderSVGInlineText {#text} at (0,-13) size 169x17 … … 47 47 RenderPath {rect} at (391,116) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 48 48 RenderSVGText {text} at (240,0) size 180x30 contains 1 chunk(s) 49 RenderSVGInlineText {#text} at (0,- 30) size 180x3049 RenderSVGInlineText {#text} at (0,-24) size 180x30 50 50 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 4 width 180.00: "1234" 51 RenderSVGContainer {g} at (20,140) size 420x4 4[transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]51 RenderSVGContainer {g} at (20,140) size 420x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}] 52 52 RenderSVGText {text} at (0,0) size 109x17 contains 1 chunk(s) 53 53 RenderSVGInlineText {#text} at (0,-13) size 109x17 … … 82 82 RenderPath {rect} at (391,176) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 83 83 RenderSVGText {text} at (240,0) size 180x30 contains 1 chunk(s) 84 RenderSVGInlineText {#text} at (0,- 30) size 180x3084 RenderSVGInlineText {#text} at (0,-24) size 180x30 85 85 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 4 width 180.00: "1234" 86 RenderSVGContainer {g} at (20,200) size 420x4 4[transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]86 RenderSVGContainer {g} at (20,200) size 420x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}] 87 87 RenderSVGText {text} at (0,0) size 171x17 contains 1 chunk(s) 88 88 RenderSVGInlineText {#text} at (0,-13) size 171x17 … … 117 117 RenderPath {rect} at (391,236) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 118 118 RenderSVGText {text} at (240,0) size 180x30 contains 1 chunk(s) 119 RenderSVGInlineText {#text} at (0,- 30) size 180x30119 RenderSVGInlineText {#text} at (0,-24) size 180x30 120 120 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 4 width 180.00: "1234" 121 121 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 480x360 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 RenderSVGContainer {g} at (20,22) size 420x18 25 RenderSVGContainer {g} at (20,22) size 420x184 6 6 RenderSVGText {text} at (125,50) size 230x36 contains 1 chunk(s) 7 7 RenderSVGInlineText {#text} at (0,-28) size 230x36 … … 11 11 RenderPath {line} at (-0.50,-20) size 1x20 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L0.00,-20.00"] 12 12 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 13 RenderSVGContainer {g} at (20,9 0) size 420x114[transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}]14 RenderSVGContainer {g} at (20,9 0) size 300x3413 RenderSVGContainer {g} at (20,96) size 420x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}] 14 RenderSVGContainer {g} at (20,96) size 300x30 15 15 RenderSVGText {text} at (0,0) size 102x17 contains 1 chunk(s) 16 16 RenderSVGInlineText {#text} at (0,-13) size 102x17 … … 27 27 RenderPath {rect} at (286,116) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 28 28 RenderSVGText {text} at (240,0) size 60x30 contains 1 chunk(s) 29 RenderSVGInlineText {#text} at (0,- 30) size 60x3029 RenderSVGInlineText {#text} at (0,-24) size 60x30 30 30 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 2 width 60.00: "12" 31 RenderSVGContainer {g} at (20,13 0) size 360x34[transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]31 RenderSVGContainer {g} at (20,136) size 360x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] 32 32 RenderSVGText {text} at (0,0) size 102x17 contains 1 chunk(s) 33 33 RenderSVGInlineText {#text} at (0,-13) size 102x17 … … 44 44 RenderPath {rect} at (316,156) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 45 45 RenderSVGText {text} at (240,0) size 120x30 contains 1 chunk(s) 46 RenderSVGInlineText {#text} at (0,- 30) size 120x3046 RenderSVGInlineText {#text} at (0,-24) size 120x30 47 47 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 2 width 120.00: "12" 48 RenderSVGContainer {g} at (20,17 0) size 420x34[transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]48 RenderSVGContainer {g} at (20,176) size 420x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] 49 49 RenderSVGText {text} at (0,0) size 171x17 contains 1 chunk(s) 50 50 RenderSVGInlineText {#text} at (0,-13) size 171x17 … … 61 61 RenderPath {rect} at (346,196) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 62 62 RenderSVGText {text} at (240,0) size 180x30 contains 1 chunk(s) 63 RenderSVGInlineText {#text} at (0,- 30) size 180x3063 RenderSVGInlineText {#text} at (0,-24) size 180x30 64 64 chunk 1 text run 1 at (240.00,0.00) startOffset 0 endOffset 2 width 180.00: "12" 65 65 RenderSVGText {text} at (10,340) size 284x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 480x360 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 RenderSVGContainer {g} at (100,36) size 209x1 955 RenderSVGContainer {g} at (100,36) size 209x180 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 7 RenderSVGContainer {g} at (100,36) size 184x80 … … 9 9 RenderSVGInlineText {#text} at (0,-64) size 184x80 10 10 chunk 1 text run 1 at (100.00,100.00) startOffset 0 endOffset 5 width 184.00 RTL: "\x{69A} \x{69A}\x{69A}\x{69A}" 11 RenderSVGContainer {g} at (100,1 18) size 209x11312 RenderSVGText {text} at (100,200) size 209x 113contains 1 chunk(s)13 RenderSVGInlineText {#text} at (0,- 82) size 209x11311 RenderSVGContainer {g} at (100,136) size 209x80 12 RenderSVGText {text} at (100,200) size 209x80 contains 1 chunk(s) 13 RenderSVGInlineText {#text} at (0,-64) size 209x80 14 14 chunk 1 text run 1 at (100.00,200.00) startOffset 0 endOffset 5 width 223.92 RTL: "\x{62E} \x{62E}\x{62E}\x{62E}" 15 15 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.checksum
r29246 r29700 1 90e63486ca5ed0fe3343db1aa14e49c9 1 ac8bfa36a14c4fc166e1a8e564e6be8b -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt
r29246 r29700 15 15 RenderSVGInlineText {#text} at (0,-40) size 25x50 16 16 chunk 1 text run 1 at (50.00,190.00) startOffset 0 endOffset 1 width 25.00: "a" 17 RenderSVGText {text} at (50,260) size 2 2x50 contains 1 chunk(s)18 RenderSVGInlineText {#text} at (0,-40) size 2 2x5019 chunk 1 text run 1 at (50.00,260.00) startOffset 0 endOffset 1 width 2 2.00: "a"17 RenderSVGText {text} at (50,260) size 25x50 contains 1 chunk(s) 18 RenderSVGInlineText {#text} at (0,-40) size 25x50 19 chunk 1 text run 1 at (50.00,260.00) startOffset 0 endOffset 1 width 25.00: "a" 20 20 RenderSVGText {text} at (10,340) size 284x46 contains 1 chunk(s) 21 21 RenderSVGInlineText {#text} at (0,-36) size 284x46 -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 480x360 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 RenderSVGContainer {g} at (100,60) size 64x1505 RenderSVGContainer {g} at (100,60) size 53x150 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 RenderSVGText {text} at (100,100) size 64x50 contains 1 chunk(s)8 RenderSVGInlineText {#text} at (0,-40) size 64x507 RenderSVGText {text} at (100,100) size 53x50 contains 1 chunk(s) 8 RenderSVGInlineText {#text} at (0,-40) size 53x50 9 9 chunk 1 text run 1 at (100.00,100.00) startOffset 0 endOffset 3 width 25.00: "ffl" 10 RenderSVGText {text} at (100,200) size 64x50 contains 1 chunk(s)11 RenderSVGInlineText {#text} at (0,-40) size 64x5010 RenderSVGText {text} at (100,200) size 53x50 contains 1 chunk(s) 11 RenderSVGInlineText {#text} at (0,-40) size 53x50 12 12 chunk 1 text run 1 at (100.00,200.00) startOffset 0 endOffset 3 width 25.00: "ffl" 13 13 RenderSVGText {text} at (10,340) size 284x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt
r29246 r29700 45 45 RenderPath {line} at (60,104) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 46 46 RenderPath {rect} at (56,101) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 47 RenderSVGText {text} at (0,0) size 8x1 1contains 1 chunk(s)48 RenderSVGInlineText {#text} at (0,- 9) size 8x1147 RenderSVGText {text} at (0,0) size 8x10 contains 1 chunk(s) 48 RenderSVGInlineText {#text} at (0,-8) size 8x10 49 49 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 2 width 7.50: "12" 50 50 RenderSVGContainer {g} at (9.50,114.50) size 221x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,55.00)}] … … 76 76 RenderPath {line} at (80,159) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 77 77 RenderPath {rect} at (76,156) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 78 RenderSVGText {text} at (0,0) size 8x1 1contains 1 chunk(s)79 RenderSVGInlineText {#text} at (0,- 9) size 8x1178 RenderSVGText {text} at (0,0) size 8x10 contains 1 chunk(s) 79 RenderSVGInlineText {#text} at (0,-8) size 8x10 80 80 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 2 width 7.50: "12" 81 81 RenderSVGContainer {g} at (9.50,169.50) size 265.50x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,110.00)}] … … 119 119 RenderPath {line} at (145,214) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 120 120 RenderPath {rect} at (141,211) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 121 RenderSVGText {text} at (0,0) size 35x1 1contains 1 chunk(s)122 RenderSVGInlineText {#text} at (0,- 9) size 35x11121 RenderSVGText {text} at (0,0) size 35x10 contains 1 chunk(s) 122 RenderSVGInlineText {#text} at (0,-8) size 35x10 123 123 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 35.00: "1234" 124 124 RenderSVGContainer {g} at (9.50,224.50) size 221x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,165.00)}] … … 162 162 RenderPath {line} at (145,269) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 163 163 RenderPath {rect} at (141,266) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 164 RenderSVGText {text} at (0,0) size 35x1 1contains 1 chunk(s)165 RenderSVGInlineText {#text} at (0,- 9) size 35x11164 RenderSVGText {text} at (0,0) size 35x10 contains 1 chunk(s) 165 RenderSVGInlineText {#text} at (0,-8) size 35x10 166 166 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 35.00: "1234" 167 167 RenderSVGContainer {g} at (249.50,59.50) size 227.50x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,0.00)}] … … 205 205 RenderPath {line} at (385,104) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 206 206 RenderPath {rect} at (381,101) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 207 RenderSVGText {text} at (0,0) size 35x1 1contains 1 chunk(s)208 RenderSVGInlineText {#text} at (0,- 9) size 35x11207 RenderSVGText {text} at (0,0) size 35x10 contains 1 chunk(s) 208 RenderSVGInlineText {#text} at (0,-8) size 35x10 209 209 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 35.00: "1234" 210 210 RenderSVGContainer {g} at (249.50,114.50) size 233.50x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,55.00)}] … … 248 248 RenderPath {line} at (415,159) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 249 249 RenderPath {rect} at (411,156) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 250 RenderSVGText {text} at (0,0) size 35x1 1contains 1 chunk(s)251 RenderSVGInlineText {#text} at (0,- 9) size 35x11250 RenderSVGText {text} at (0,0) size 35x10 contains 1 chunk(s) 251 RenderSVGInlineText {#text} at (0,-8) size 35x10 252 252 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 35.00: "1234" 253 253 RenderSVGContainer {g} at (249.50,169.50) size 221x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,110.00)}] … … 279 279 RenderPath {line} at (300,214) size 24x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L12.00,0.00"] 280 280 RenderPath {rect} at (296,211) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-2.00,-2.00L2.00,-2.00L2.00,2.00L-2.00,2.00"] 281 RenderSVGText {text} at (0,0) size 18x1 1contains 1 chunk(s)282 RenderSVGInlineText {#text} at (0,- 9) size 18x11281 RenderSVGText {text} at (0,0) size 18x10 contains 1 chunk(s) 282 RenderSVGInlineText {#text} at (0,-8) size 18x10 283 283 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 2 width 17.50: "12" 284 284 RenderSVGContainer {g} at (320,100) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(320.00,100.00)}] -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt
r29246 r29700 7 7 layer at (0,0) size 480x360 8 8 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 9 RenderSVGContainer {g} at (10,7) size 390x 3069 RenderSVGContainer {g} at (10,7) size 390x295 10 10 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 11 11 RenderSVGText {text} at (10,20) size 139x16 contains 1 chunk(s) … … 42 42 RenderPath {rect} at (60,275) size 200x25 [fill={[type=SOLID] [color=#FFFFFF] [opacity=0.70]}] [data="M60.00,275.00L260.00,275.00L260.00,300.00L60.00,300.00"] 43 43 RenderSVGText {text} at (60,280) size 121x110 contains 1 chunk(s) 44 RenderSVGInlineText {#text} at (0,- 77) size 121x11044 RenderSVGInlineText {#text} at (0,-88) size 121x110 45 45 chunk 1 text run 1 at (60.00,280.00) startOffset 0 endOffset 3 width 121.33: "SVG" 46 46 RenderSVGText {text} at (200,225) size 200x14 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum
r29246 r29700 1 639c6cbb5b4ddd5b843b5ba520fa897a 1 2e8c170978bea6a2ea26711cd29257e5 -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt
r29246 r29700 5 5 RenderSVGRoot {svg} at (-34.55,0.50) size 539.09x359 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 RenderSVGContainer {g} at (-34.55, 34.50) size 539.09x296.32 [transform={m=((1.00,0.00)(0.00,1.50)) t=(0.00,0.00)}]7 RenderSVGContainer {g} at (-34.55,24) size 539.09x314.32 [transform={m=((1.00,0.00)(0.00,1.50)) t=(0.00,0.00)}] 8 8 RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0 9 9 RenderSVGGradientStop {stop} at (0,0) size 0x0 10 10 RenderSVGGradientStop {stop} at (0,0) size 0x0 11 RenderSVGText {text} at (20,70) size 446x 55contains 1 chunk(s)12 RenderSVGInlineText {#text} at (0,- 47) size 446x5511 RenderSVGText {text} at (20,70) size 446x67 contains 1 chunk(s) 12 RenderSVGInlineText {#text} at (0,-54) size 446x67 13 13 chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 16 width 446.28: "Gradient on fill" 14 RenderSVGText {text} at (20,160) size 430x 44contains 1 chunk(s)15 RenderSVGInlineText {#text} at (0,- 38) size 430x4414 RenderSVGText {text} at (20,160) size 430x55 contains 1 chunk(s) 15 RenderSVGInlineText {#text} at (0,-44) size 430x55 16 16 chunk 1 text run 1 at (20.00,160.00) startOffset 0 endOffset 18 width 429.88: "Gradient on stroke" 17 17 RenderSVGText {text} at (40,145) size 342x36 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt
r29246 r29700 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (60,12) size 352x3 066 RenderSVGContainer {g} at (60,12) size 352x328 7 7 RenderSVGText {text} at (180,40) size 96x36 contains 1 chunk(s) 8 8 RenderSVGInlineText {#text} at (0,-28) size 96x36 9 9 chunk 1 text run 1 at (180.00,40.00) startOffset 0 endOffset 9 width 96.00: "Text fill" 10 RenderSVGContainer {g} at (60, 70) size 352x24811 RenderSVGText {text} at (60,280) size 152x 248contains 1 chunk(s)12 RenderSVGInlineText {#text} at (0,-2 10) size 152x24810 RenderSVGContainer {g} at (60,40) size 352x300 11 RenderSVGText {text} at (60,280) size 152x300 contains 1 chunk(s) 12 RenderSVGInlineText {#text} at (0,-240) size 152x300 13 13 chunk 1 text run 1 at (60.00,280.00) startOffset 0 endOffset 1 width 151.50: "A" 14 RenderSVGText {text} at (260,280) size 152x 248contains 1 chunk(s)15 RenderSVGInlineText {#text} at (0,-2 10) size 152x24814 RenderSVGText {text} at (260,280) size 152x300 contains 1 chunk(s) 15 RenderSVGInlineText {#text} at (0,-240) size 152x300 16 16 chunk 1 text run 1 at (260.00,280.00) startOffset 0 endOffset 1 width 151.50: "A" 17 17 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt
r29246 r29700 2 2 RenderView at (0,0) size 480x360 3 3 layer at (0,0) size 480x360 4 RenderSVGRoot {svg} at (0.50,0 .50) size 479x3594 RenderSVGRoot {svg} at (0.50,0) size 479x380 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (0.50,0 .50) size 479x3596 RenderSVGContainer {g} at (0.50,0) size 479x380 7 7 RenderSVGText {text} at (180,40) size 135x36 contains 1 chunk(s) 8 8 RenderSVGInlineText {#text} at (0,-28) size 135x36 9 9 chunk 1 text run 1 at (180.00,40.00) startOffset 0 endOffset 11 width 135.00: "Text stroke" 10 RenderSVGContainer {g} at (20, 30) size 445x32811 RenderSVGText {text} at (60,280) size 152x 248contains 1 chunk(s)12 RenderSVGInlineText {#text} at (0,-2 10) size 152x24810 RenderSVGContainer {g} at (20,0) size 445x380 11 RenderSVGText {text} at (60,280) size 152x300 contains 1 chunk(s) 12 RenderSVGInlineText {#text} at (0,-240) size 152x300 13 13 chunk 1 text run 1 at (60.00,280.00) startOffset 0 endOffset 1 width 151.50: "A" 14 RenderSVGText {text} at (260,280) size 165x 248contains 1 chunk(s)15 RenderSVGInlineText {#text} at (0,-2 10) size 165x24814 RenderSVGText {text} at (260,280) size 165x300 contains 1 chunk(s) 15 RenderSVGInlineText {#text} at (0,-240) size 165x300 16 16 chunk 1 text run 1 at (260.00,280.00) startOffset 0 endOffset 1 width 165.00: "B" 17 17 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt
r29246 r29700 2 2 RenderView at (0,0) size 480x360 3 3 layer at (0,0) size 480x360 4 RenderSVGRoot {svg} at (0.50,0 .50) size 479x3594 RenderSVGRoot {svg} at (0.50,0) size 479x380 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (0.50,0 .50) size 479x3596 RenderSVGContainer {g} at (0.50,0) size 479x380 7 7 RenderSVGText {text} at (120,40) size 228x36 contains 1 chunk(s) 8 8 RenderSVGInlineText {#text} at (0,-28) size 228x36 9 9 chunk 1 text run 1 at (120.00,40.00) startOffset 0 endOffset 20 width 228.00: "Text fill and stroke" 10 RenderSVGContainer {g} at (20, 30) size 445x32811 RenderSVGText {text} at (60,280) size 152x 248contains 1 chunk(s)12 RenderSVGInlineText {#text} at (0,-2 10) size 152x24810 RenderSVGContainer {g} at (20,0) size 445x380 11 RenderSVGText {text} at (60,280) size 152x300 contains 1 chunk(s) 12 RenderSVGInlineText {#text} at (0,-240) size 152x300 13 13 chunk 1 text run 1 at (60.00,280.00) startOffset 0 endOffset 1 width 151.50: "A" 14 RenderSVGText {text} at (260,280) size 165x 248contains 1 chunk(s)15 RenderSVGInlineText {#text} at (0,-2 10) size 165x24814 RenderSVGText {text} at (260,280) size 165x300 contains 1 chunk(s) 15 RenderSVGInlineText {#text} at (0,-240) size 165x300 16 16 chunk 1 text run 1 at (260.00,280.00) startOffset 0 endOffset 1 width 165.00: "B" 17 17 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt
r29246 r29700 2 2 RenderView at (0,0) size 480x360 3 3 layer at (0,0) size 480x360 4 RenderSVGRoot {svg} at (0.50, 0.50) size 479x3595 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.204 RenderSVGRoot {svg} at (0.50,-10.80) size 479x370.30 5 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}]7 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}] 8 8 RenderPath {rect} at (36,18) size 414x279 [fill={[type=SOLID] [color=#C0C0C0]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 9 9 RenderPath {line} at (58.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,10.00L40.00,175.00"] … … 16 16 RenderPath {line} at (436.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00L250.00,175.00"] 17 17 RenderPath {rect} at (35.10,17.10) size 415.80x280.80 [stroke={[type=SOLID] [color=#000000]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 18 RenderSVGContainer {g} at (54, 10.80) size 381.60x268.20 [opacity=0.50]18 RenderSVGContainer {g} at (54,-10.80) size 381.60x289.80 [opacity=0.50] 19 19 RenderSVGText {text} at (30,90) size 132x120 contains 1 chunk(s) 20 RenderSVGInlineText {#text} at (0,- 84) size 132x12020 RenderSVGInlineText {#text} at (0,-96) size 132x120 21 21 chunk 1 text run 1 at (30.00,90.00) startOffset 0 endOffset 3 width 132.36: "SVG" 22 22 RenderPath {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [data="M70.00,55.00L200.00,55.00L200.00,125.00L70.00,125.00"] -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt
r29246 r29700 2 2 RenderView at (0,0) size 480x360 3 3 layer at (0,0) size 480x360 4 RenderSVGRoot {svg} at (0.50, 0.50) size 479x3595 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.204 RenderSVGRoot {svg} at (0.50,-10.80) size 479x370.30 5 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}]7 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}] 8 8 RenderPath {rect} at (36,18) size 414x279 [fill={[type=SOLID] [color=#C0C0C0]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 9 9 RenderPath {line} at (58.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,10.00L40.00,175.00"] … … 17 17 RenderPath {rect} at (35.10,17.10) size 415.80x280.80 [stroke={[type=SOLID] [color=#000000]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 18 18 RenderSVGText {text} at (30,90) size 132x120 contains 1 chunk(s) 19 RenderSVGInlineText {#text} at (0,- 84) size 132x12019 RenderSVGInlineText {#text} at (0,-96) size 132x120 20 20 chunk 1 text run 1 at (30.00,90.00) startOffset 0 endOffset 3 width 132.36: "SVG" 21 21 RenderPath {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [data="M70.00,55.00L200.00,55.00L200.00,125.00L70.00,125.00"] -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt
r29246 r29700 13 13 RenderSVGContainer {g} at (49.33,189.33) size 419.33x96.33 14 14 RenderSVGText {text} 15 RenderSVGText {text} at (50,270) size 38x 75contains 1 chunk(s)16 RenderSVGInlineText {#text} at (0,- 60) size 38x7515 RenderSVGText {text} at (50,270) size 38x67 contains 1 chunk(s) 16 RenderSVGInlineText {#text} at (0,-52) size 38x67 17 17 chunk 1 text run 1 at (50.00,270.00) startOffset 0 endOffset 1 width 37.50: "D" 18 RenderSVGText {text} at (280,270) size 188x 75contains 1 chunk(s)19 RenderSVGInlineText {#text} at (0,- 60) size 188x7518 RenderSVGText {text} at (280,270) size 188x67 contains 1 chunk(s) 19 RenderSVGInlineText {#text} at (0,-52) size 188x67 20 20 chunk 1 text run 1 at (280.00,270.00) startOffset 0 endOffset 5 width 157.50: "SASSY" 21 21 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt
r29246 r29700 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (36,2 0) size 418x2907 RenderSVGContainer {g} at (36,2 0) size 154x25[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}]6 RenderSVGContainer {g} at (36,24) size 418x285 7 RenderSVGContainer {g} at (36,24) size 154x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}] 8 8 RenderSVGText {text} at (-94,0) size 65x18 contains 1 chunk(s) 9 9 RenderSVGInlineText {#text} at (0,-14) size 65x18 10 10 chunk 1 (end anchor) text run 1 at (-94.00,0.00) startOffset 0 endOffset 9 width 64.00: "Reference" 11 RenderSVGContainer {g} at (126,2 0) size 64x2511 RenderSVGContainer {g} at (126,24) size 64x20 12 12 RenderSVGContainer {use} at (126,36) size 8x8 13 13 RenderSVGContainer {g} at (126,36) size 8x8 … … 22 22 RenderSVGContainer {g} at (171,36) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,0.00)}] 23 23 RenderPath {rect} at (171,36) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 24 RenderSVGText {text} at (0,0) size 60x2 5contains 1 chunk(s)25 RenderSVGInlineText {#text} at (0,- 20) size 60x2524 RenderSVGText {text} at (0,0) size 60x20 contains 1 chunk(s) 25 RenderSVGInlineText {#text} at (0,-16) size 60x20 26 26 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 60.00: "1234" 27 27 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 28 28 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 29 RenderSVGContainer {g} at (73,6 0) size 152x25[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]29 RenderSVGContainer {g} at (73,64) size 152x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}] 30 30 RenderSVGText {text} at (-57,0) size 28x18 contains 1 chunk(s) 31 31 RenderSVGInlineText {#text} at (0,-14) size 28x18 … … 46 46 RenderSVGContainer {g} at (206,76) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}] 47 47 RenderPath {rect} at (206,76) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 48 RenderSVGText {text} at (20,0) size 75x2 5contains 4 chunk(s)49 RenderSVGInlineText {#text} at (0,- 20) size 75x2548 RenderSVGText {text} at (20,0) size 75x20 contains 4 chunk(s) 49 RenderSVGInlineText {#text} at (0,-16) size 75x20 50 50 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 51 51 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 52 52 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 3 width 15.00: "3" 53 53 chunk 4 text run 1 at (80.00,0.00) startOffset 3 endOffset 4 width 15.00: "4" 54 RenderSVGContainer {g} at (56,10 0) size 178x25[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]54 RenderSVGContainer {g} at (56,104) size 178x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}] 55 55 RenderSVGText {text} at (-74,0) size 45x18 contains 1 chunk(s) 56 56 RenderSVGInlineText {#text} at (0,-14) size 45x18 … … 74 74 RenderSVGContainer {g} at (226,116) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] 75 75 RenderPath {rect} at (226,116) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 76 RenderSVGText {text} at (20,0) size 75x2 5contains 4 chunk(s)77 RenderSVGInlineText {#text} at (0,- 20) size 75x2576 RenderSVGText {text} at (20,0) size 75x20 contains 4 chunk(s) 77 RenderSVGInlineText {#text} at (0,-16) size 75x20 78 78 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 79 79 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 80 80 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 3 width 15.00: "3" 81 81 chunk 4 text run 1 at (80.00,0.00) startOffset 3 endOffset 4 width 15.00: "4" 82 RenderSVGContainer {g} at (52,14 0) size 168x25[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]82 RenderSVGContainer {g} at (52,144) size 168x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}] 83 83 RenderSVGText {text} at (-78,0) size 49x18 contains 1 chunk(s) 84 84 RenderSVGInlineText {#text} at (0,-14) size 49x18 … … 99 99 RenderSVGContainer {g} at (201,156) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,0.00)}] 100 100 RenderPath {rect} at (201,156) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 101 RenderSVGText {text} at (20,0) size 70x2 5contains 3 chunk(s)102 RenderSVGInlineText {#text} at (0,- 20) size 70x25101 RenderSVGText {text} at (20,0) size 70x20 contains 3 chunk(s) 102 RenderSVGInlineText {#text} at (0,-16) size 70x20 103 103 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 104 104 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 105 105 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 4 width 30.00: "34" 106 RenderSVGContainer {g} at (73,17 0) size 117x45[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}]106 RenderSVGContainer {g} at (73,174) size 117x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}] 107 107 RenderSVGText {text} at (-57,0) size 28x18 contains 1 chunk(s) 108 108 RenderSVGInlineText {#text} at (0,-14) size 28x18 … … 120 120 RenderSVGContainer {g} at (171,206) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,10.00)}] 121 121 RenderPath {rect} at (171,206) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 122 RenderSVGText {text} at (0,-10) size 60x4 5contains 1 chunk(s)123 RenderSVGInlineText {#text} at (0,- 20) size 60x45122 RenderSVGText {text} at (0,-10) size 60x40 contains 1 chunk(s) 123 RenderSVGInlineText {#text} at (0,-16) size 60x40 124 124 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 125 RenderSVGContainer {g} at (56,22 0) size 134x45[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,250.00)}]125 RenderSVGContainer {g} at (56,224) size 134x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,250.00)}] 126 126 RenderSVGText {text} at (-74,0) size 45x18 contains 1 chunk(s) 127 127 RenderSVGInlineText {#text} at (0,-14) size 45x18 … … 139 139 RenderSVGContainer {g} at (171,256) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,10.00)}] 140 140 RenderPath {rect} at (171,256) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 141 RenderSVGText {text} at (0,-10) size 60x4 5contains 1 chunk(s)142 RenderSVGInlineText {#text} at (0,- 20) size 60x45141 RenderSVGText {text} at (0,-10) size 60x40 contains 1 chunk(s) 142 RenderSVGInlineText {#text} at (0,-16) size 60x40 143 143 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 144 RenderSVGContainer {g} at (52,27 0) size 138x40[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,300.00)}]144 RenderSVGContainer {g} at (52,274) size 138x35 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,300.00)}] 145 145 RenderSVGText {text} at (-78,0) size 49x18 contains 1 chunk(s) 146 146 RenderSVGInlineText {#text} at (0,-14) size 49x18 … … 158 158 RenderSVGContainer {g} at (171,301) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] 159 159 RenderPath {rect} at (171,301) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 160 RenderSVGText {text} at (0,-10) size 60x 40contains 1 chunk(s)161 RenderSVGInlineText {#text} at (0,- 20) size 60x40160 RenderSVGText {text} at (0,-10) size 60x35 contains 1 chunk(s) 161 RenderSVGInlineText {#text} at (0,-16) size 60x35 162 162 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 163 RenderSVGContainer {g} at (241,5 0) size 213x205[transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}]164 RenderSVGContainer {g} at (281,5 0) size 164x45[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]163 RenderSVGContainer {g} at (241,54) size 213x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}] 164 RenderSVGContainer {g} at (281,54) size 164x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}] 165 165 RenderSVGText {text} at (-69,0) size 40x18 contains 1 chunk(s) 166 166 RenderSVGInlineText {#text} at (0,-14) size 40x18 … … 181 181 RenderSVGContainer {g} at (426,86) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}] 182 182 RenderPath {rect} at (426,86) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 183 RenderSVGText {text} at (20,-10) size 75x4 5contains 4 chunk(s)184 RenderSVGInlineText {#text} at (0,- 20) size 75x45183 RenderSVGText {text} at (20,-10) size 75x40 contains 4 chunk(s) 184 RenderSVGInlineText {#text} at (0,-16) size 75x40 185 185 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 186 186 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 187 187 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 188 188 chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4" 189 RenderSVGContainer {g} at (264,9 0) size 190x54[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]189 RenderSVGContainer {g} at (264,94) size 190x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}] 190 190 RenderSVGText {text} at (-86,0) size 57x18 contains 1 chunk(s) 191 191 RenderSVGInlineText {#text} at (0,-14) size 57x18 … … 209 209 RenderSVGContainer {g} at (446,136) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,20.00)}] 210 210 RenderPath {rect} at (446,136) size 8x8 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 211 RenderSVGText {text} at (20,-10) size 75x4 5contains 4 chunk(s)212 RenderSVGInlineText {#text} at (0,- 20) size 75x45211 RenderSVGText {text} at (20,-10) size 75x40 contains 4 chunk(s) 212 RenderSVGInlineText {#text} at (0,-16) size 75x40 213 213 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 214 214 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 215 215 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 216 216 chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4" 217 RenderSVGContainer {g} at (260,13 0) size 180x40[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]217 RenderSVGContainer {g} at (260,134) size 180x35 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}] 218 218 RenderSVGText {text} at (-90,0) size 61x18 contains 1 chunk(s) 219 219 RenderSVGInlineText {#text} at (0,-14) size 61x18 … … 234 234 RenderSVGContainer {g} at (421,161) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,5.00)}] 235 235 RenderPath {rect} at (421,161) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 236 RenderSVGText {text} at (20,-10) size 70x 40contains 3 chunk(s)237 RenderSVGInlineText {#text} at (0,- 20) size 70x40236 RenderSVGText {text} at (20,-10) size 70x35 contains 3 chunk(s) 237 RenderSVGInlineText {#text} at (0,-16) size 70x35 238 238 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 239 239 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 240 240 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 4 width 30.00: "34" 241 RenderSVGContainer {g} at (241,17 0) size 204x40[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}]241 RenderSVGContainer {g} at (241,174) size 204x35 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}] 242 242 RenderSVGText {text} at (-109,0) size 80x18 contains 1 chunk(s) 243 243 RenderSVGInlineText {#text} at (0,-14) size 80x18 … … 258 258 RenderSVGContainer {g} at (426,201) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,5.00)}] 259 259 RenderPath {rect} at (426,201) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 260 RenderSVGText {text} at (20,-10) size 75x 40contains 4 chunk(s)261 RenderSVGInlineText {#text} at (0,- 20) size 75x40260 RenderSVGText {text} at (20,-10) size 75x35 contains 4 chunk(s) 261 RenderSVGInlineText {#text} at (0,-16) size 75x35 262 262 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 263 263 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 264 264 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 265 265 chunk 4 text run 1 at (80.00,5.00) startOffset 3 endOffset 4 width 15.00: "4" 266 RenderSVGContainer {g} at (241,21 0) size 199x45[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,240.00)}]266 RenderSVGContainer {g} at (241,214) size 199x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,240.00)}] 267 267 RenderSVGText {text} at (-109,0) size 80x18 contains 1 chunk(s) 268 268 RenderSVGInlineText {#text} at (0,-14) size 80x18 … … 283 283 RenderSVGContainer {g} at (423.52,246) size 8x8 [transform={m=((1.00,0.00)(0.00,1.00)) t=(77.52,10.00)}] 284 284 RenderPath {rect} at (423.52,246) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 285 RenderSVGText {text} at (20,-10) size 70x4 5contains 3 chunk(s)286 RenderSVGInlineText {#text} at (0,- 20) size 70x45285 RenderSVGText {text} at (20,-10) size 70x40 contains 3 chunk(s) 286 RenderSVGInlineText {#text} at (0,-16) size 70x40 287 287 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 288 288 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt
r29246 r29700 51 51 RenderPath {line} at (149.50,55) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 52 52 RenderPath {rect} at (146,66) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 53 RenderSVGText {text} at (0,30) size 60x1 1contains 1 chunk(s)54 RenderSVGInlineText {#text} at (0,- 9) size 60x1153 RenderSVGText {text} at (0,30) size 60x10 contains 1 chunk(s) 54 RenderSVGInlineText {#text} at (0,-8) size 60x10 55 55 chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 56 56 RenderSVGContainer {use} at (156,85) size 8x19 … … 74 74 RenderPath {line} at (189.50,85) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 75 75 RenderPath {rect} at (186,96) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 76 RenderSVGText {text} at (10,60) size 45x1 1contains 4 chunk(s)77 RenderSVGInlineText {#text} at (0,- 9) size 45x1176 RenderSVGText {text} at (10,60) size 45x10 contains 4 chunk(s) 77 RenderSVGInlineText {#text} at (0,-8) size 45x10 78 78 chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 1 width 15.00: "1" 79 79 chunk 2 text run 1 at (20.00,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 90 90 RenderPath {line} at (209.50,115) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 91 91 RenderPath {rect} at (206,126) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 92 RenderSVGText {text} at (10,90) size 95x1 1contains 2 chunk(s)93 RenderSVGInlineText {#text} at (0,- 9) size 95x1192 RenderSVGText {text} at (10,90) size 95x10 contains 2 chunk(s) 93 RenderSVGInlineText {#text} at (0,-8) size 95x10 94 94 chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 1 width 15.00: "1" 95 95 chunk 2 text run 1 at (60.00,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 115 115 RenderPath {line} at (194.50,155) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 116 116 RenderPath {rect} at (191,166) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 117 RenderSVGText {text} at (0,-10) size 60x3 1contains 1 chunk(s)118 RenderSVGInlineText {#text} at (0,- 9) size 60x31117 RenderSVGText {text} at (0,-10) size 60x30 contains 1 chunk(s) 118 RenderSVGInlineText {#text} at (0,-8) size 60x30 119 119 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 120 120 RenderSVGContainer {g} at (156,165) size 49x39 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 139 139 RenderPath {line} at (189.50,185) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 140 140 RenderPath {rect} at (186,196) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 141 RenderSVGText {text} at (10,-10) size 45x3 1contains 4 chunk(s)142 RenderSVGInlineText {#text} at (0,- 9) size 45x31141 RenderSVGText {text} at (10,-10) size 45x30 contains 4 chunk(s) 142 RenderSVGInlineText {#text} at (0,-8) size 45x30 143 143 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 144 144 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 166 166 RenderPath {line} at (199.50,215) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 167 167 RenderPath {rect} at (196,226) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 168 RenderSVGText {text} at (10,-10) size 55x3 1contains 2 chunk(s)169 RenderSVGInlineText {#text} at (0,- 9) size 55x31168 RenderSVGText {text} at (10,-10) size 55x30 contains 2 chunk(s) 169 RenderSVGInlineText {#text} at (0,-8) size 55x30 170 170 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 171 171 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 181 181 RenderPath {line} at (164.50,240) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 182 182 RenderPath {rect} at (161,251) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 183 RenderSVGText {text} at (0,-10) size 60x2 6contains 1 chunk(s)184 RenderSVGInlineText {#text} at (0,- 9) size 60x26183 RenderSVGText {text} at (0,-10) size 60x25 contains 1 chunk(s) 184 RenderSVGInlineText {#text} at (0,-8) size 60x25 185 185 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 186 186 RenderSVGContainer {g} at (156,255) size 49x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 205 205 RenderPath {line} at (189.50,260) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 206 206 RenderPath {rect} at (186,271) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 207 RenderSVGText {text} at (10,-10) size 45x1 7contains 4 chunk(s)208 RenderSVGInlineText {#text} at (0,- 9) size 45x17207 RenderSVGText {text} at (10,-10) size 45x16 contains 4 chunk(s) 208 RenderSVGInlineText {#text} at (0,-8) size 45x16 209 209 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 210 210 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 222 222 RenderPath {line} at (209.50,290) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 223 223 RenderPath {rect} at (206,301) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 224 RenderSVGText {text} at (10,-10) size 95x1 7contains 2 chunk(s)225 RenderSVGInlineText {#text} at (0,- 9) size 95x17224 RenderSVGText {text} at (10,-10) size 95x16 contains 2 chunk(s) 225 RenderSVGInlineText {#text} at (0,-8) size 95x16 226 226 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 227 227 chunk 2 text run 1 at (60.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 241 241 RenderPath {line} at (249.50,55) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 242 242 RenderPath {rect} at (246,66) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 243 RenderSVGText {text} at (-30,30) size 60x1 1contains 1 chunk(s)244 RenderSVGInlineText {#text} at (0,- 9) size 60x11243 RenderSVGText {text} at (-30,30) size 60x10 contains 1 chunk(s) 244 RenderSVGInlineText {#text} at (0,-8) size 60x10 245 245 chunk 1 (middle anchor) text run 1 at (-30.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 246 246 RenderSVGContainer {g} at (256,85) size 8x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}] … … 260 260 RenderPath {line} at (289.50,85) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 261 261 RenderPath {rect} at (286,96) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 262 RenderSVGText {text} at (2,60) size 46x1 1contains 4 chunk(s)263 RenderSVGInlineText {#text} at (0,- 9) size 46x11262 RenderSVGText {text} at (2,60) size 46x10 contains 4 chunk(s) 263 RenderSVGInlineText {#text} at (0,-8) size 46x10 264 264 chunk 1 (middle anchor) text run 1 at (2.50,60.00) startOffset 0 endOffset 1 width 15.00: "1" 265 265 chunk 2 (middle anchor) text run 1 at (12.50,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 274 274 RenderPath {line} at (309.50,115) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 275 275 RenderPath {rect} at (306,126) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 276 RenderSVGText {text} at (2,90) size 81x1 1contains 2 chunk(s)277 RenderSVGInlineText {#text} at (0,- 9) size 81x11276 RenderSVGText {text} at (2,90) size 81x10 contains 2 chunk(s) 277 RenderSVGInlineText {#text} at (0,-8) size 81x10 278 278 chunk 1 (middle anchor) text run 1 at (2.50,90.00) startOffset 0 endOffset 1 width 15.00: "1" 279 279 chunk 2 (middle anchor) text run 1 at (37.50,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 295 295 RenderPath {line} at (294.50,155) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 296 296 RenderPath {rect} at (291,166) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 297 RenderSVGText {text} at (-30,-10) size 60x3 1contains 1 chunk(s)298 RenderSVGInlineText {#text} at (0,- 9) size 60x31297 RenderSVGText {text} at (-30,-10) size 60x30 contains 1 chunk(s) 298 RenderSVGInlineText {#text} at (0,-8) size 60x30 299 299 chunk 1 (middle anchor) text run 1 at (-30.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 300 300 RenderSVGContainer {g} at (252,165) size 46x39 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 315 315 RenderPath {line} at (289.50,185) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 316 316 RenderPath {rect} at (286,196) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 317 RenderSVGText {text} at (2,-10) size 46x3 1contains 4 chunk(s)318 RenderSVGInlineText {#text} at (0,- 9) size 46x31317 RenderSVGText {text} at (2,-10) size 46x30 contains 4 chunk(s) 318 RenderSVGInlineText {#text} at (0,-8) size 46x30 319 319 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 320 320 chunk 2 (middle anchor) text run 1 at (12.50,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 338 338 RenderPath {line} at (299.50,215) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 339 339 RenderPath {rect} at (296,226) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 340 RenderSVGText {text} at (-3,-10) size 45x3 1contains 2 chunk(s)341 RenderSVGInlineText {#text} at (1,- 9) size 45x31340 RenderSVGText {text} at (-3,-10) size 45x30 contains 2 chunk(s) 341 RenderSVGInlineText {#text} at (1,-8) size 45x30 342 342 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 343 343 chunk 2 (middle anchor) text run 1 at (-2.50,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 351 351 RenderPath {line} at (264.50,240) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 352 352 RenderPath {rect} at (261,251) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 353 RenderSVGText {text} at (-30,-10) size 60x2 6contains 1 chunk(s)354 RenderSVGInlineText {#text} at (0,- 9) size 60x26353 RenderSVGText {text} at (-30,-10) size 60x25 contains 1 chunk(s) 354 RenderSVGInlineText {#text} at (0,-8) size 60x25 355 355 chunk 1 (middle anchor) text run 1 at (-30.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 356 356 RenderSVGContainer {g} at (252,255) size 46x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 371 371 RenderPath {line} at (289.50,260) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 372 372 RenderPath {rect} at (286,271) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 373 RenderSVGText {text} at (2,-10) size 46x1 7contains 4 chunk(s)374 RenderSVGInlineText {#text} at (0,- 9) size 46x17373 RenderSVGText {text} at (2,-10) size 46x16 contains 4 chunk(s) 374 RenderSVGInlineText {#text} at (0,-8) size 46x16 375 375 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 376 376 chunk 2 (middle anchor) text run 1 at (12.50,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 386 386 RenderPath {line} at (309.50,290) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 387 387 RenderPath {rect} at (306,301) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 388 RenderSVGText {text} at (2,-10) size 81x1 7contains 2 chunk(s)389 RenderSVGInlineText {#text} at (0,- 9) size 81x17388 RenderSVGText {text} at (2,-10) size 81x16 contains 2 chunk(s) 389 RenderSVGInlineText {#text} at (0,-8) size 81x16 390 390 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 391 391 chunk 2 (middle anchor) text run 1 at (37.50,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 405 405 RenderPath {line} at (349.50,55) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 406 406 RenderPath {rect} at (346,66) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 407 RenderSVGText {text} at (-60,30) size 60x1 1contains 1 chunk(s)408 RenderSVGInlineText {#text} at (0,- 9) size 60x11407 RenderSVGText {text} at (-60,30) size 60x10 contains 1 chunk(s) 408 RenderSVGInlineText {#text} at (0,-8) size 60x10 409 409 chunk 1 (end anchor) text run 1 at (-60.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 410 410 RenderSVGContainer {g} at (356,85) size 8x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}] … … 424 424 RenderPath {line} at (389.50,85) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 425 425 RenderPath {rect} at (386,96) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 426 RenderSVGText {text} at (-5,60) size 45x1 1contains 4 chunk(s)427 RenderSVGInlineText {#text} at (0,- 9) size 45x11426 RenderSVGText {text} at (-5,60) size 45x10 contains 4 chunk(s) 427 RenderSVGInlineText {#text} at (0,-8) size 45x10 428 428 chunk 1 (end anchor) text run 1 at (-5.00,60.00) startOffset 0 endOffset 1 width 15.00: "1" 429 429 chunk 2 (end anchor) text run 1 at (5.00,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 438 438 RenderPath {line} at (409.50,115) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 439 439 RenderPath {rect} at (406,126) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 440 RenderSVGText {text} at (-5,90) size 65x1 1contains 2 chunk(s)441 RenderSVGInlineText {#text} at (0,- 9) size 65x11440 RenderSVGText {text} at (-5,90) size 65x10 contains 2 chunk(s) 441 RenderSVGInlineText {#text} at (0,-8) size 65x10 442 442 chunk 1 (end anchor) text run 1 at (-5.00,90.00) startOffset 0 endOffset 1 width 15.00: "1" 443 443 chunk 2 (end anchor) text run 1 at (15.00,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 459 459 RenderPath {line} at (394.50,155) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 460 460 RenderPath {rect} at (391,166) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 461 RenderSVGText {text} at (-60,-10) size 60x3 1contains 1 chunk(s)462 RenderSVGInlineText {#text} at (0,- 9) size 60x31461 RenderSVGText {text} at (-60,-10) size 60x30 contains 1 chunk(s) 462 RenderSVGInlineText {#text} at (0,-8) size 60x30 463 463 chunk 1 (end anchor) text run 1 at (-60.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 464 464 RenderSVGContainer {g} at (345,165) size 49x39 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 479 479 RenderPath {line} at (389.50,185) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 480 480 RenderPath {rect} at (386,196) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 481 RenderSVGText {text} at (-5,-10) size 45x3 1contains 4 chunk(s)482 RenderSVGInlineText {#text} at (0,- 9) size 45x31481 RenderSVGText {text} at (-5,-10) size 45x30 contains 4 chunk(s) 482 RenderSVGInlineText {#text} at (0,-8) size 45x30 483 483 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 484 484 chunk 2 (end anchor) text run 1 at (5.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 502 502 RenderPath {line} at (399.50,215) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 503 503 RenderPath {rect} at (396,226) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 504 RenderSVGText {text} at (-25,-10) size 45x3 1contains 2 chunk(s)505 RenderSVGInlineText {#text} at (0,- 9) size 45x31504 RenderSVGText {text} at (-25,-10) size 45x30 contains 2 chunk(s) 505 RenderSVGInlineText {#text} at (0,-8) size 45x30 506 506 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 507 507 chunk 2 (end anchor) text run 1 at (-25.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 515 515 RenderPath {line} at (364.50,240) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 516 516 RenderPath {rect} at (361,251) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 517 RenderSVGText {text} at (-60,-10) size 60x2 6contains 1 chunk(s)518 RenderSVGInlineText {#text} at (0,- 9) size 60x26517 RenderSVGText {text} at (-60,-10) size 60x25 contains 1 chunk(s) 518 RenderSVGInlineText {#text} at (0,-8) size 60x25 519 519 chunk 1 (end anchor) text run 1 at (-60.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 520 520 RenderSVGContainer {g} at (345,255) size 49x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 535 535 RenderPath {line} at (389.50,260) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 536 536 RenderPath {rect} at (386,271) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 537 RenderSVGText {text} at (-5,-10) size 45x1 7contains 4 chunk(s)538 RenderSVGInlineText {#text} at (0,- 9) size 45x17537 RenderSVGText {text} at (-5,-10) size 45x16 contains 4 chunk(s) 538 RenderSVGInlineText {#text} at (0,-8) size 45x16 539 539 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 540 540 chunk 2 (end anchor) text run 1 at (5.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 550 550 RenderPath {line} at (409.50,290) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 551 551 RenderPath {rect} at (406,301) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 552 RenderSVGText {text} at (-5,-10) size 65x1 7contains 2 chunk(s)553 RenderSVGInlineText {#text} at (0,- 9) size 65x17552 RenderSVGText {text} at (-5,-10) size 65x16 contains 2 chunk(s) 553 RenderSVGInlineText {#text} at (0,-8) size 65x16 554 554 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 555 555 chunk 2 (end anchor) text run 1 at (15.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.checksum
r29246 r29700 1 0cd7683922e8a2169a09a5c8c2738faa 1 a99f738d4b08147a3ea0019fe304b41c -
trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 480x360 4 4 RenderSVGRoot {svg} at (0.50,0.50) size 479x359 5 RenderSVGContainer {g} at (30,55) size 27 4x2095 RenderSVGContainer {g} at (30,55) size 278x209 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 7 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 … … 9 9 RenderPath {line} at (-0.50,-15) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L0.00,-15.00"] 10 10 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 11 RenderSVGContainer {g} at (30,55) size 27 4x209 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,30.00)}]11 RenderSVGContainer {g} at (30,55) size 278x209 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,30.00)}] 12 12 RenderSVGContainer {g} at (30,59) size 71x154 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,40.00)}] 13 13 RenderSVGText {text} at (0,0) size 62x14 contains 1 chunk(s) … … 20 20 RenderSVGInlineText {#text} at (0,-11) size 71x14 21 21 chunk 1 text run 1 at (0.00,140.00) startOffset 0 endOffset 15 width 71.00: "x/y positioning" 22 RenderSVGContainer {g} at (126,55) size 1 78x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,40.00)}]22 RenderSVGContainer {g} at (126,55) size 182x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,40.00)}] 23 23 RenderSVGContainer {use} at (126,55) size 8x19 24 24 RenderSVGContainer {g} at (126,55) size 8x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,0.00)}] … … 51 51 RenderPath {line} at (249.50,55) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 52 52 RenderPath {rect} at (246,66) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 53 RenderSVGText {text} at (10,0) size 17 3x11contains 6 chunk(s)54 RenderSVGInlineText {#text} at (0,- 9) size 173x1155 chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 1 width 3.00: "f"56 chunk 2 text run 1 at (180.00,0.00) startOffset 1 endOffset 2 width 3.00: "i"53 RenderSVGText {text} at (10,0) size 178x10 contains 6 chunk(s) 54 RenderSVGInlineText {#text} at (0,-8) size 178x10 55 chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 1 width 8.00: "f" 56 chunk 2 text run 1 at (180.00,0.00) startOffset 1 endOffset 2 width 8.00: "i" 57 57 chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 15.00: "1" 58 58 chunk 4 text run 1 at (70.00,0.00) startOffset 3 endOffset 4 width 15.00: "2" 59 59 chunk 5 text run 1 at (100.00,0.00) startOffset 4 endOffset 5 width 15.00: "3" 60 60 chunk 6 text run 1 at (130.00,0.00) startOffset 5 endOffset 6 width 15.00: "4" 61 RenderSVGContainer {g} at (116,85) size 70x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,80.00)}]61 RenderSVGContainer {g} at (116,85) size 80x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,80.00)}] 62 62 RenderSVGContainer {use} at (116,85) size 8x19 63 63 RenderSVGContainer {g} at (116,85) size 8x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}] … … 90 90 RenderPath {line} at (179.50,125) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 91 91 RenderPath {rect} at (176,136) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 92 RenderSVGText {text} at (0,-10) size 66x71contains 1 chunk(s)93 RenderSVGInlineText {#text} at (0,- 9) size 66x7192 RenderSVGText {text} at (0,-10) size 76x70 contains 1 chunk(s) 93 RenderSVGInlineText {#text} at (0,-8) size 76x70 94 94 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 6 width 75.00: "fi1234" 95 RenderSVGContainer {g} at (126,185) size 1 78x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}]95 RenderSVGContainer {g} at (126,185) size 182x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}] 96 96 RenderSVGContainer {use} at (126,185) size 8x19 97 97 RenderSVGContainer {g} at (126,185) size 8x19 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}] … … 124 124 RenderPath {line} at (249.50,225) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 125 125 RenderPath {rect} at (246,236) size 8x8 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 126 RenderSVGText {text} at (10,-10) size 17 3x71contains 6 chunk(s)127 RenderSVGInlineText {#text} at (0,- 9) size 173x71128 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 3.00: "f"129 chunk 2 text run 1 at (180.00,50.00) startOffset 1 endOffset 2 width 3.00: "i"126 RenderSVGText {text} at (10,-10) size 178x70 contains 6 chunk(s) 127 RenderSVGInlineText {#text} at (0,-8) size 178x70 128 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 8.00: "f" 129 chunk 2 text run 1 at (180.00,50.00) startOffset 1 endOffset 2 width 8.00: "i" 130 130 chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 15.00: "1" 131 131 chunk 4 text run 1 at (70.00,10.00) startOffset 3 endOffset 4 width 15.00: "2" -
trunk/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.checksum
r29246 r29700 1 b6f84d3a372f31d2df519de70c9f16eb 1 735df6f1f116dd2c96bbd5602ca040b5 -
trunk/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.txt
r29246 r29700 24 24 RenderSVGInlineText {#text} at (0,-48) size 152x59 25 25 chunk 1 (middle anchor) text run 1 at (44.00,160.00) startOffset 0 endOffset 5 width 152.00: "BATIK" 26 RenderSVGText {text} at (252,160) size 155x5 9contains 1 chunk(s)27 RenderSVGInlineText {#text} at (0,-4 8) size 155x5926 RenderSVGText {text} at (252,160) size 155x52 contains 1 chunk(s) 27 RenderSVGInlineText {#text} at (0,-42) size 155x52 28 28 chunk 1 (middle anchor) text run 1 at (252.94,160.00) startOffset 0 endOffset 5 width 154.11: "BATIK" 29 29 RenderSVGText {text} at (44,260) size 152x59 contains 1 chunk(s) 30 30 RenderSVGInlineText {#text} at (0,-48) size 152x59 31 31 chunk 1 (middle anchor) text run 1 at (44.00,260.00) startOffset 0 endOffset 5 width 152.00: "BATIK" 32 RenderSVGText {text} at (252,260) size 155x5 9contains 1 chunk(s)33 RenderSVGInlineText {#text} at (0,-4 8) size 155x5932 RenderSVGText {text} at (252,260) size 155x52 contains 1 chunk(s) 33 RenderSVGInlineText {#text} at (0,-42) size 155x52 34 34 chunk 1 (middle anchor) text run 1 at (252.94,260.00) startOffset 0 endOffset 5 width 154.11: "BATIK" 35 35 RenderSVGText {text} at (44,360) size 152x59 contains 1 chunk(s) 36 36 RenderSVGInlineText {#text} at (0,-48) size 152x59 37 37 chunk 1 (middle anchor) text run 1 at (44.00,360.00) startOffset 0 endOffset 5 width 152.00: "BATIK" 38 RenderSVGText {text} at (252,360) size 155x5 9contains 1 chunk(s)39 RenderSVGInlineText {#text} at (0,-4 8) size 155x5938 RenderSVGText {text} at (252,360) size 155x52 contains 1 chunk(s) 39 RenderSVGInlineText {#text} at (0,-42) size 155x52 40 40 chunk 1 (middle anchor) text run 1 at (252.94,360.00) startOffset 0 endOffset 5 width 154.11: "BATIK" 41 41 RenderSVGText {text} at (87,400) size 66x14 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.checksum
r29246 r29700 1 c6e3a77963cbb5dcd1cee329b469140e 1 16a7ecf12f57a042979bf50b70b1255b -
trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt
r29246 r29700 4 4 RenderView at (0,0) size 800x600 5 5 layer at (0,0) size 450x500 6 RenderSVGRoot {svg} at (52,16) size 43 5.80x3877 RenderSVGContainer {g} at (52,16) size 43 5.80x3876 RenderSVGRoot {svg} at (52,16) size 433.80x387 7 RenderSVGContainer {g} at (52,16) size 433.80x387 8 8 RenderSVGText {text} at (99,30) size 252x17 contains 1 chunk(s) 9 9 RenderSVGInlineText {#text} at (0,-14) size 252x17 … … 36 36 chunk 1 (middle anchor) text run 5 at (150.50,140.00) startOffset 0 endOffset 1 width 35.00: "K" 37 37 RenderSVGInlineText {#text} at (0,0) size 0x0 38 RenderSVGText {text} at (263,140) size 14 8x79contains 1 chunk(s)39 RenderSVGInlineText {#text} at (0,-2 8) size 36x5938 RenderSVGText {text} at (263,140) size 146x72 contains 1 chunk(s) 39 RenderSVGInlineText {#text} at (0,-22) size 36x52 40 40 chunk 1 (middle anchor) text run 1 at (263.69,160.00) startOffset 0 endOffset 1 width 35.57: "B" 41 RenderSVGTSpan {tspan} at (0,0) size 18x2 942 RenderSVGInlineText {#text} at (36,-2 4) size 18x2941 RenderSVGTSpan {tspan} at (0,0) size 18x26 42 RenderSVGInlineText {#text} at (36,-21) size 18x26 43 43 chunk 1 (middle anchor) text run 2 at (299.26,140.00) startOffset 0 endOffset 1 width 17.79: "A" 44 RenderSVGInlineText {#text} at (54,-4 8) size 33x5944 RenderSVGInlineText {#text} at (54,-42) size 33x52 45 45 chunk 1 (middle anchor) text run 3 at (317.05,140.00) startOffset 0 endOffset 1 width 32.58: "T" 46 RenderSVGTSpan {tspan} at (0,0) size 12x4 447 RenderSVGInlineText {#text} at (86,-3 6) size 12x4446 RenderSVGTSpan {tspan} at (0,0) size 12x40 47 RenderSVGInlineText {#text} at (86,-32) size 12x40 48 48 chunk 1 (middle anchor) text run 4 at (349.63,140.00) startOffset 0 endOffset 1 width 11.11: "I" 49 RenderSVGTSpan {tspan} at (0,0) size 5 5x6950 RenderSVGInlineText {#text} at (9 3,-46) size 55x6949 RenderSVGTSpan {tspan} at (0,0) size 52x62 50 RenderSVGInlineText {#text} at (94,-40) size 52x62 51 51 chunk 1 (middle anchor) text run 5 at (360.74,140.00) startOffset 0 endOffset 1 width 35.57: "K" 52 52 RenderSVGInlineText {#text} at (0,0) size 0x0 … … 66 66 chunk 1 (middle anchor) text run 5 at (150.50,240.00) startOffset 0 endOffset 1 width 35.00: "K" 67 67 RenderSVGInlineText {#text} at (0,0) size 0x0 68 RenderSVGText {text} at (263,240) size 14 8x79contains 1 chunk(s)69 RenderSVGInlineText {#text} at (0,-2 8) size 36x5968 RenderSVGText {text} at (263,240) size 146x72 contains 1 chunk(s) 69 RenderSVGInlineText {#text} at (0,-22) size 36x52 70 70 chunk 1 (middle anchor) text run 1 at (263.69,260.00) startOffset 0 endOffset 1 width 35.57: "B" 71 RenderSVGTSpan {tspan} at (0,0) size 18x2 972 RenderSVGInlineText {#text} at (36,-2 4) size 18x2971 RenderSVGTSpan {tspan} at (0,0) size 18x26 72 RenderSVGInlineText {#text} at (36,-21) size 18x26 73 73 chunk 1 (middle anchor) text run 2 at (299.26,240.00) startOffset 0 endOffset 1 width 17.79: "A" 74 RenderSVGInlineText {#text} at (54,-4 8) size 33x5974 RenderSVGInlineText {#text} at (54,-42) size 33x52 75 75 chunk 1 (middle anchor) text run 3 at (317.05,240.00) startOffset 0 endOffset 1 width 32.58: "T" 76 RenderSVGTSpan {tspan} at (0,0) size 12x4 477 RenderSVGInlineText {#text} at (86,-3 6) size 12x4476 RenderSVGTSpan {tspan} at (0,0) size 12x40 77 RenderSVGInlineText {#text} at (86,-32) size 12x40 78 78 chunk 1 (middle anchor) text run 4 at (349.63,240.00) startOffset 0 endOffset 1 width 11.11: "I" 79 RenderSVGTSpan {tspan} at (0,0) size 5 5x6980 RenderSVGInlineText {#text} at (9 3,-46) size 55x6979 RenderSVGTSpan {tspan} at (0,0) size 52x62 80 RenderSVGInlineText {#text} at (94,-40) size 52x62 81 81 chunk 1 (middle anchor) text run 5 at (360.74,240.00) startOffset 0 endOffset 1 width 35.57: "K" 82 82 RenderSVGInlineText {#text} at (0,0) size 0x0 … … 96 96 chunk 1 (middle anchor) text run 5 at (150.50,340.00) startOffset 0 endOffset 1 width 35.00: "K" 97 97 RenderSVGInlineText {#text} at (0,0) size 0x0 98 RenderSVGText {text} at (263,340) size 14 8x79contains 1 chunk(s)99 RenderSVGInlineText {#text} at (0,-2 8) size 36x5998 RenderSVGText {text} at (263,340) size 146x72 contains 1 chunk(s) 99 RenderSVGInlineText {#text} at (0,-22) size 36x52 100 100 chunk 1 (middle anchor) text run 1 at (263.69,360.00) startOffset 0 endOffset 1 width 35.57: "B" 101 RenderSVGTSpan {tspan} at (0,0) size 18x2 9102 RenderSVGInlineText {#text} at (36,-2 4) size 18x29101 RenderSVGTSpan {tspan} at (0,0) size 18x26 102 RenderSVGInlineText {#text} at (36,-21) size 18x26 103 103 chunk 1 (middle anchor) text run 2 at (299.26,340.00) startOffset 0 endOffset 1 width 17.79: "A" 104 RenderSVGInlineText {#text} at (54,-4 8) size 33x59104 RenderSVGInlineText {#text} at (54,-42) size 33x52 105 105 chunk 1 (middle anchor) text run 3 at (317.05,340.00) startOffset 0 endOffset 1 width 32.58: "T" 106 RenderSVGTSpan {tspan} at (0,0) size 12x4 4107 RenderSVGInlineText {#text} at (86,-3 6) size 12x44106 RenderSVGTSpan {tspan} at (0,0) size 12x40 107 RenderSVGInlineText {#text} at (86,-32) size 12x40 108 108 chunk 1 (middle anchor) text run 4 at (349.63,340.00) startOffset 0 endOffset 1 width 11.11: "I" 109 RenderSVGTSpan {tspan} at (0,0) size 5 5x69110 RenderSVGInlineText {#text} at (9 3,-46) size 55x69109 RenderSVGTSpan {tspan} at (0,0) size 52x62 110 RenderSVGInlineText {#text} at (94,-40) size 52x62 111 111 chunk 1 (middle anchor) text run 5 at (360.74,340.00) startOffset 0 endOffset 1 width 35.57: "K" 112 112 RenderSVGInlineText {#text} at (0,0) size 0x0 -
trunk/LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt
r29246 r29700 7 7 RenderSVGInlineText {#text} at (0,-14) size 106x17 8 8 chunk 1 (middle anchor) text run 1 at (172.00,30.00) startOffset 0 endOffset 15 width 106.00: "Text Position 2" 9 RenderSVGContainer {g} at (50, 59) size 399x29410 RenderSVGText {text} at (50,80) size 53x2 6contains 1 chunk(s)11 RenderSVGInlineText {#text} at (0,- 21) size 53x269 RenderSVGContainer {g} at (50,61) size 399x292 10 RenderSVGText {text} at (50,80) size 53x23 contains 1 chunk(s) 11 RenderSVGInlineText {#text} at (0,-19) size 53x23 12 12 chunk 1 text run 1 at (50.00,80.00) startOffset 0 endOffset 5 width 53.36: "Batik" 13 13 RenderSVGText {text} at (50,100) size 103x11 contains 1 chunk(s) 14 14 RenderSVGInlineText {#text} at (0,-9) size 103x11 15 15 chunk 1 text run 1 at (50.00,100.00) startOffset 0 endOffset 21 width 103.00: "<text x=\"100\" y=\"80\">" 16 RenderSVGText {text} at (240,80) size 133x2 6contains 1 chunk(s)17 RenderSVGInlineText {#text} at (0,- 21) size 133x2616 RenderSVGText {text} at (240,80) size 133x23 contains 1 chunk(s) 17 RenderSVGInlineText {#text} at (0,-19) size 133x23 18 18 chunk 1 text run 1 at (240.00,80.00) startOffset 0 endOffset 5 width 53.36: "Batik" 19 19 RenderSVGText {text} at (240,100) size 194x11 contains 1 chunk(s) 20 20 RenderSVGInlineText {#text} at (0,-9) size 194x11 21 21 chunk 1 text run 1 at (240.00,100.00) startOffset 0 endOffset 41 width 194.00: "<text x=\"240\" y=\"80\" letter-spacing=\"20\">" 22 RenderSVGText {text} at (50,140) size 92x2 6contains 5 chunk(s)23 RenderSVGInlineText {#text} at (0,- 21) size 92x2622 RenderSVGText {text} at (50,140) size 92x23 contains 5 chunk(s) 23 RenderSVGInlineText {#text} at (0,-19) size 92x23 24 24 chunk 1 text run 1 at (50.00,140.00) startOffset 0 endOffset 1 width 16.01: "B" 25 25 chunk 2 text run 1 at (70.00,140.00) startOffset 1 endOffset 2 width 13.35: "a" … … 30 30 RenderSVGInlineText {#text} at (0,-9) size 175x11 31 31 chunk 1 text run 1 at (50.00,160.00) startOffset 0 endOffset 35 width 175.00: "<text x=\"50 70 90 110 130\" y=\"140\">" 32 RenderSVGText {text} at (240,140) size 133x2 6contains 1 chunk(s)33 RenderSVGInlineText {#text} at (0,- 21) size 133x2632 RenderSVGText {text} at (240,140) size 133x23 contains 1 chunk(s) 33 RenderSVGInlineText {#text} at (0,-19) size 133x23 34 34 chunk 1 text run 1 at (240.00,140.00) startOffset 0 endOffset 5 width 53.36: "Batik" 35 35 RenderSVGText {text} at (240,160) size 175x11 contains 1 chunk(s) 36 36 RenderSVGInlineText {#text} at (0,-9) size 175x11 37 37 chunk 1 text run 1 at (240.00,160.00) startOffset 0 endOffset 35 width 175.00: "<text dx=\"240 20 20 20 20\" y=\"140\">" 38 RenderSVGText {text} at (50,200) size 53x2 6contains 1 chunk(s)39 RenderSVGTSpan {tspan} at (0,0) size 53x2 640 RenderSVGInlineText {#text} at (0,- 21) size 53x2638 RenderSVGText {text} at (50,200) size 53x23 contains 1 chunk(s) 39 RenderSVGTSpan {tspan} at (0,0) size 53x23 40 RenderSVGInlineText {#text} at (0,-19) size 53x23 41 41 chunk 1 text run 1 at (50.00,200.00) startOffset 0 endOffset 5 width 53.36: "Batik" 42 42 RenderSVGText {text} at (50,220) size 112x11 contains 1 chunk(s) 43 43 RenderSVGInlineText {#text} at (0,-9) size 112x11 44 44 chunk 1 text run 1 at (50.00,220.00) startOffset 0 endOffset 22 width 112.00: "<tspan x=\"50\" y=\"200\">" 45 RenderSVGText {text} at (240,200) size 133x2 6contains 1 chunk(s)46 RenderSVGTSpan {tspan} at (0,0) size 133x2 647 RenderSVGInlineText {#text} at (0,- 21) size 133x2645 RenderSVGText {text} at (240,200) size 133x23 contains 1 chunk(s) 46 RenderSVGTSpan {tspan} at (0,0) size 133x23 47 RenderSVGInlineText {#text} at (0,-19) size 133x23 48 48 chunk 1 text run 1 at (240.00,200.00) startOffset 0 endOffset 5 width 53.36: "Batik" 49 49 RenderSVGText {text} at (240,220) size 209x11 contains 1 chunk(s) … … 51 51 RenderSVGInlineText {#text} at (0,-9) size 209x11 52 52 chunk 1 text run 1 at (240.00,220.00) startOffset 0 endOffset 43 width 209.00: "<tspan x=\"240\" y=\"200\" letter-spacing=\"20\">" 53 RenderSVGText {text} at (50,260) size 92x2 6contains 5 chunk(s)54 RenderSVGTSpan {tspan} at (0,0) size 92x2 655 RenderSVGInlineText {#text} at (0,- 21) size 92x2653 RenderSVGText {text} at (50,260) size 92x23 contains 5 chunk(s) 54 RenderSVGTSpan {tspan} at (0,0) size 92x23 55 RenderSVGInlineText {#text} at (0,-19) size 92x23 56 56 chunk 1 text run 1 at (50.00,260.00) startOffset 0 endOffset 1 width 16.01: "B" 57 57 chunk 2 text run 1 at (70.00,260.00) startOffset 1 endOffset 2 width 13.35: "a" … … 62 62 RenderSVGInlineText {#text} at (0,-9) size 184x11 63 63 chunk 1 text run 1 at (50.00,280.00) startOffset 0 endOffset 36 width 184.00: "<tspan x=\"50 70 90 110 130\" y=\"260\">" 64 RenderSVGText {text} at (240,260) size 133x2 6contains 1 chunk(s)65 RenderSVGTSpan {tspan} at (0,0) size 133x2 666 RenderSVGInlineText {#text} at (0,- 21) size 133x2664 RenderSVGText {text} at (240,260) size 133x23 contains 1 chunk(s) 65 RenderSVGTSpan {tspan} at (0,0) size 133x23 66 RenderSVGInlineText {#text} at (0,-19) size 133x23 67 67 chunk 1 text run 1 at (240.00,260.00) startOffset 0 endOffset 5 width 53.36: "Batik" 68 68 RenderSVGText {text} at (240,280) size 184x11 contains 1 chunk(s) 69 69 RenderSVGInlineText {#text} at (0,-9) size 184x11 70 70 chunk 1 text run 1 at (240.00,280.00) startOffset 0 endOffset 36 width 184.00: "<tspan dx=\"240 20 20 20 20\" y=\"260\">" 71 RenderSVGText {text} at (50,320) size 92x2 6contains 5 chunk(s)72 RenderSVGTSpan {tspan} at (0,0) size 92x2 673 RenderSVGInlineText {#text} at (0,- 21) size 92x2671 RenderSVGText {text} at (50,320) size 92x23 contains 5 chunk(s) 72 RenderSVGTSpan {tspan} at (0,0) size 92x23 73 RenderSVGInlineText {#text} at (0,-19) size 92x23 74 74 chunk 1 text run 1 at (50.00,320.00) startOffset 0 endOffset 1 width 16.01: "B" 75 75 chunk 2 text run 1 at (70.00,320.00) startOffset 1 endOffset 2 width 13.35: "a" … … 83 83 RenderSVGInlineText {#text} at (33,2) size 137x11 84 84 chunk 2 text run 1 at (83.00,351.00) startOffset 0 endOffset 27 width 137.00: "dx=\"0 10 20 30 40\" y=\"320\">" 85 RenderSVGText {text} at (240,320) size 133x2 6contains 1 chunk(s)86 RenderSVGTSpan {tspan} at (0,0) size 133x2 687 RenderSVGInlineText {#text} at (0,- 21) size 133x2685 RenderSVGText {text} at (240,320) size 133x23 contains 1 chunk(s) 86 RenderSVGTSpan {tspan} at (0,0) size 133x23 87 RenderSVGInlineText {#text} at (0,-19) size 133x23 88 88 chunk 1 text run 1 at (240.00,320.00) startOffset 0 endOffset 5 width 53.36: "Batik" 89 89 RenderSVGText {text} at (240,340) size 191x22 contains 2 chunk(s) -
trunk/LayoutTests/platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum
r29633 r29700 1 16166fd6c4cc5c3b0d8c90679f5191ae 1 a1bee48ed8445d1470673ab95a1ba50a -
trunk/LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
r29246 r29700 59 59 RenderView at (0,0) size 480x360 60 60 layer at (0,0) size 480x360 61 RenderSVGRoot {svg} at (0.50, 0.50) size 479x35962 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.2061 RenderSVGRoot {svg} at (0.50,-10.80) size 479x370.30 62 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 63 63 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 64 RenderSVGContainer {g} at (35.10, 10.80) size 428.40x304.20 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}]64 RenderSVGContainer {g} at (35.10,-10.80) size 428.40x325.80 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}] 65 65 RenderPath {rect} at (36,18) size 414x279 [fill={[type=SOLID] [color=#C0C0C0]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 66 66 RenderPath {line} at (58.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M40.00,10.00L40.00,175.00"] … … 73 73 RenderPath {line} at (436.50,18) size 27x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M250.00,10.00L250.00,175.00"] 74 74 RenderPath {rect} at (35.10,17.10) size 415.80x280.80 [stroke={[type=SOLID] [color=#000000]}] [data="M20.00,10.00L250.00,10.00L250.00,165.00L20.00,165.00"] 75 RenderSVGContainer {g} at (54, 10.80) size 381.60x268.20 [opacity=0.50]75 RenderSVGContainer {g} at (54,-10.80) size 381.60x289.80 [opacity=0.50] 76 76 RenderSVGText {text} at (30,90) size 132x120 contains 1 chunk(s) 77 RenderSVGInlineText {#text} at (0,- 84) size 132x12077 RenderSVGInlineText {#text} at (0,-96) size 132x120 78 78 chunk 1 text run 1 at (30.00,90.00) startOffset 0 endOffset 3 width 132.36: "SVG" 79 79 RenderPath {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [data="M70.00,55.00L200.00,55.00L200.00,125.00L70.00,125.00"] -
trunk/LayoutTests/platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.checksum
r29633 r29700 1 c6fb4ae13b95ee9a9ebae63541cfd03b 1 0f23a1fbd345da676e6bb2083c2a4af6 -
trunk/LayoutTests/platform/mac/svg/hixie/mixed/008-expected.checksum
r29633 r29700 1 5ece9b987ac06296694c51166883080c 1 ca934a9924f37281d24a27d7d85e09c8 -
trunk/LayoutTests/platform/mac/svg/hixie/mixed/009-expected.checksum
r29633 r29700 1 15e2d1fd6057e9bf9a02fe222f7336881 5b9c3aa2f242d5d7a5608021b088abd8 -
trunk/LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.checksum
r27850 r29700 1 1c678b82703cb46c3373e2cdfa8078fb 1 80ce9eedc85e1016484fd611de1001ae -
trunk/LayoutTests/platform/mac/svg/text/text-altglyph-01-b-expected.checksum
r29246 r29700 1 b1937e38977f2e9e89a236f106e915d3 1 fd7d85442fd8965616c2e56e28017939 -
trunk/LayoutTests/platform/mac/svg/text/text-altglyph-01-b-expected.txt
r29246 r29700 13 13 RenderSVGContainer {g} at (82.22,315.56) size 698.89x160.56 14 14 RenderSVGText {text} 15 RenderSVGText {text} at (50,270) size 38x 75contains 1 chunk(s)16 RenderSVGInlineText {#text} at (0,- 60) size 38x7515 RenderSVGText {text} at (50,270) size 38x67 contains 1 chunk(s) 16 RenderSVGInlineText {#text} at (0,-52) size 38x67 17 17 chunk 1 text run 1 at (50.00,270.00) startOffset 0 endOffset 1 width 37.50: "D" 18 RenderSVGText {text} at (280,270) size 188x 75contains 1 chunk(s)19 RenderSVGInlineText {#text} at (0,- 60) size 188x7518 RenderSVGText {text} at (280,270) size 188x67 contains 1 chunk(s) 19 RenderSVGInlineText {#text} at (0,-52) size 188x67 20 20 chunk 1 text run 1 at (280.00,270.00) startOffset 0 endOffset 5 width 157.50: "SASSY" 21 21 RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s) -
trunk/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.checksum
r29246 r29700 1 f4dc5baeaa0b5afb6a916782ebfb12cc 1 359be44fd8c2475b53ef6fa1682c0cd9 -
trunk/LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt
r29246 r29700 4 4 RenderSVGRoot {svg} at (0.83,0.83) size 798.33x598.33 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 RenderSVGContainer {g} at (60, 33.33) size 696.67x483.337 RenderSVGContainer {g} at (60.00, 33.33) size 256.67x41.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}]6 RenderSVGContainer {g} at (60,40) size 696.67x475 7 RenderSVGContainer {g} at (60.00,40) size 256.67x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,40.00)}] 8 8 RenderSVGText {text} at (-94,0) size 65x18 contains 1 chunk(s) 9 9 RenderSVGInlineText {#text} at (0,-14) size 65x18 10 10 chunk 1 (end anchor) text run 1 at (-94.00,0.00) startOffset 0 endOffset 9 width 64.00: "Reference" 11 RenderSVGContainer {g} at (210.00, 33.33) size 106.67x41.6711 RenderSVGContainer {g} at (210.00,40) size 106.67x33.33 12 12 RenderSVGContainer {use} at (210.00,60.00) size 13.33x13.33 13 13 RenderSVGContainer {g} at (210.00,60.00) size 13.33x13.33 … … 22 22 RenderSVGContainer {g} at (285,60.00) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,0.00)}] 23 23 RenderPath {rect} at (285,60.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 24 RenderSVGText {text} at (0,0) size 60x2 5contains 1 chunk(s)25 RenderSVGInlineText {#text} at (0,- 20) size 60x2524 RenderSVGText {text} at (0,0) size 60x20 contains 1 chunk(s) 25 RenderSVGInlineText {#text} at (0,-16) size 60x20 26 26 chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 60.00: "1234" 27 27 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 28 28 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 29 RenderSVGContainer {g} at (121.67,10 0.00) size 253.33x41.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]29 RenderSVGContainer {g} at (121.67,106.67) size 253.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}] 30 30 RenderSVGText {text} at (-57,0) size 28x18 contains 1 chunk(s) 31 31 RenderSVGInlineText {#text} at (0,-14) size 28x18 … … 46 46 RenderSVGContainer {g} at (343.33,126.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}] 47 47 RenderPath {rect} at (343.33,126.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 48 RenderSVGText {text} at (20,0) size 75x2 5contains 4 chunk(s)49 RenderSVGInlineText {#text} at (0,- 20) size 75x2548 RenderSVGText {text} at (20,0) size 75x20 contains 4 chunk(s) 49 RenderSVGInlineText {#text} at (0,-16) size 75x20 50 50 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 51 51 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 52 52 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 3 width 15.00: "3" 53 53 chunk 4 text run 1 at (80.00,0.00) startOffset 3 endOffset 4 width 15.00: "4" 54 RenderSVGContainer {g} at (93.33,1 66.67) size 296.67x41.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]54 RenderSVGContainer {g} at (93.33,173.33) size 296.67x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}] 55 55 RenderSVGText {text} at (-74,0) size 45x18 contains 1 chunk(s) 56 56 RenderSVGInlineText {#text} at (0,-14) size 45x18 … … 74 74 RenderSVGContainer {g} at (376.67,193.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] 75 75 RenderPath {rect} at (376.67,193.33) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 76 RenderSVGText {text} at (20,0) size 75x2 5contains 4 chunk(s)77 RenderSVGInlineText {#text} at (0,- 20) size 75x2576 RenderSVGText {text} at (20,0) size 75x20 contains 4 chunk(s) 77 RenderSVGInlineText {#text} at (0,-16) size 75x20 78 78 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 79 79 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 80 80 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 3 width 15.00: "3" 81 81 chunk 4 text run 1 at (80.00,0.00) startOffset 3 endOffset 4 width 15.00: "4" 82 RenderSVGContainer {g} at (86.67,2 33.33) size 280x41.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]82 RenderSVGContainer {g} at (86.67,240.00) size 280x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}] 83 83 RenderSVGText {text} at (-78,0) size 49x18 contains 1 chunk(s) 84 84 RenderSVGInlineText {#text} at (0,-14) size 49x18 … … 99 99 RenderSVGContainer {g} at (335,260) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,0.00)}] 100 100 RenderPath {rect} at (335,260) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 101 RenderSVGText {text} at (20,0) size 70x2 5contains 3 chunk(s)102 RenderSVGInlineText {#text} at (0,- 20) size 70x25101 RenderSVGText {text} at (20,0) size 70x20 contains 3 chunk(s) 102 RenderSVGInlineText {#text} at (0,-16) size 70x20 103 103 chunk 1 text run 1 at (20.00,0.00) startOffset 0 endOffset 1 width 15.00: "1" 104 104 chunk 2 text run 1 at (40.00,0.00) startOffset 1 endOffset 2 width 15.00: "2" 105 105 chunk 3 text run 1 at (60.00,0.00) startOffset 2 endOffset 4 width 30.00: "34" 106 RenderSVGContainer {g} at (121.67,2 83.33) size 195x75[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}]106 RenderSVGContainer {g} at (121.67,290.00) size 195x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}] 107 107 RenderSVGText {text} at (-57,0) size 28x18 contains 1 chunk(s) 108 108 RenderSVGInlineText {#text} at (0,-14) size 28x18 … … 120 120 RenderSVGContainer {g} at (285,343.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,10.00)}] 121 121 RenderPath {rect} at (285,343.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 122 RenderSVGText {text} at (0,-10) size 60x4 5contains 1 chunk(s)123 RenderSVGInlineText {#text} at (0,- 20) size 60x45122 RenderSVGText {text} at (0,-10) size 60x40 contains 1 chunk(s) 123 RenderSVGInlineText {#text} at (0,-16) size 60x40 124 124 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 125 RenderSVGContainer {g} at (93.33,3 66.67) size 223.33x75[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,250.00)}]125 RenderSVGContainer {g} at (93.33,373.33) size 223.33x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,250.00)}] 126 126 RenderSVGText {text} at (-74,0) size 45x18 contains 1 chunk(s) 127 127 RenderSVGInlineText {#text} at (0,-14) size 45x18 … … 139 139 RenderSVGContainer {g} at (285,426.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,10.00)}] 140 140 RenderPath {rect} at (285,426.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 141 RenderSVGText {text} at (0,-10) size 60x4 5contains 1 chunk(s)142 RenderSVGInlineText {#text} at (0,- 20) size 60x45141 RenderSVGText {text} at (0,-10) size 60x40 contains 1 chunk(s) 142 RenderSVGInlineText {#text} at (0,-16) size 60x40 143 143 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 144 RenderSVGContainer {g} at (86.67,45 0) size 230x66.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,300.00)}]144 RenderSVGContainer {g} at (86.67,456.67) size 230x58.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,300.00)}] 145 145 RenderSVGText {text} at (-78,0) size 49x18 contains 1 chunk(s) 146 146 RenderSVGInlineText {#text} at (0,-14) size 49x18 … … 158 158 RenderSVGContainer {g} at (285,501.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] 159 159 RenderPath {rect} at (285,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 160 RenderSVGText {text} at (0,-10) size 60x 40contains 1 chunk(s)161 RenderSVGInlineText {#text} at (0,- 20) size 60x40160 RenderSVGText {text} at (0,-10) size 60x35 contains 1 chunk(s) 161 RenderSVGInlineText {#text} at (0,-16) size 60x35 162 162 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 163 RenderSVGContainer {g} at (401.67, 83.33) size 355x341.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}]164 RenderSVGContainer {g} at (468.33, 83.33) size 273.33x75[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]163 RenderSVGContainer {g} at (401.67,90) size 355x333.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,0.00)}] 164 RenderSVGContainer {g} at (468.33,90.00) size 273.33x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}] 165 165 RenderSVGText {text} at (-69,0) size 40x18 contains 1 chunk(s) 166 166 RenderSVGInlineText {#text} at (0,-14) size 40x18 … … 181 181 RenderSVGContainer {g} at (710.00,143.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,10.00)}] 182 182 RenderPath {rect} at (710.00,143.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 183 RenderSVGText {text} at (20,-10) size 75x4 5contains 4 chunk(s)184 RenderSVGInlineText {#text} at (0,- 20) size 75x45183 RenderSVGText {text} at (20,-10) size 75x40 contains 4 chunk(s) 184 RenderSVGInlineText {#text} at (0,-16) size 75x40 185 185 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 186 186 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 187 187 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 188 188 chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4" 189 RenderSVGContainer {g} at (440.00,15 0) size 316.67x90[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}]189 RenderSVGContainer {g} at (440.00,156.67) size 316.67x83.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,120.00)}] 190 190 RenderSVGText {text} at (-86,0) size 57x18 contains 1 chunk(s) 191 191 RenderSVGInlineText {#text} at (0,-14) size 57x18 … … 209 209 RenderSVGContainer {g} at (743.33,226.67) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,20.00)}] 210 210 RenderPath {rect} at (743.33,226.67) size 13.33x13.33 [fill={[type=SOLID] [color=#FF0000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 211 RenderSVGText {text} at (20,-10) size 75x4 5contains 4 chunk(s)212 RenderSVGInlineText {#text} at (0,- 20) size 75x45211 RenderSVGText {text} at (20,-10) size 75x40 contains 4 chunk(s) 212 RenderSVGInlineText {#text} at (0,-16) size 75x40 213 213 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 214 214 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 215 215 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 216 216 chunk 4 text run 1 at (80.00,10.00) startOffset 3 endOffset 4 width 15.00: "4" 217 RenderSVGContainer {g} at (433.33,2 16.67) size 300x66.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}]217 RenderSVGContainer {g} at (433.33,223.33) size 300x58.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,160.00)}] 218 218 RenderSVGText {text} at (-90,0) size 61x18 contains 1 chunk(s) 219 219 RenderSVGInlineText {#text} at (0,-14) size 61x18 … … 234 234 RenderSVGContainer {g} at (701.67,268.33) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,5.00)}] 235 235 RenderPath {rect} at (701.67,268.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 236 RenderSVGText {text} at (20,-10) size 70x 40contains 3 chunk(s)237 RenderSVGInlineText {#text} at (0,- 20) size 70x40236 RenderSVGText {text} at (20,-10) size 70x35 contains 3 chunk(s) 237 RenderSVGInlineText {#text} at (0,-16) size 70x35 238 238 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 239 239 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 240 240 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 4 width 30.00: "34" 241 RenderSVGContainer {g} at (401.67,2 83.33) size 340x66.67[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}]241 RenderSVGContainer {g} at (401.67,290.00) size 340x58.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,200.00)}] 242 242 RenderSVGText {text} at (-109,0) size 80x18 contains 1 chunk(s) 243 243 RenderSVGInlineText {#text} at (0,-14) size 80x18 … … 258 258 RenderSVGContainer {g} at (710.00,335) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,5.00)}] 259 259 RenderPath {rect} at (710.00,335) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 260 RenderSVGText {text} at (20,-10) size 75x 40contains 4 chunk(s)261 RenderSVGInlineText {#text} at (0,- 20) size 75x40260 RenderSVGText {text} at (20,-10) size 75x35 contains 4 chunk(s) 261 RenderSVGInlineText {#text} at (0,-16) size 75x35 262 262 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 263 263 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" 264 264 chunk 3 text run 1 at (60.00,5.00) startOffset 2 endOffset 3 width 15.00: "3" 265 265 chunk 4 text run 1 at (80.00,5.00) startOffset 3 endOffset 4 width 15.00: "4" 266 RenderSVGContainer {g} at (401.67,35 0) size 331.67x75[transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,240.00)}]266 RenderSVGContainer {g} at (401.67,356.67) size 331.67x66.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,240.00)}] 267 267 RenderSVGText {text} at (-109,0) size 80x18 contains 1 chunk(s) 268 268 RenderSVGInlineText {#text} at (0,-14) size 80x18 … … 283 283 RenderSVGContainer {g} at (705.87,410) size 13.33x13.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(77.52,10.00)}] 284 284 RenderPath {rect} at (705.87,410) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 285 RenderSVGText {text} at (20,-10) size 70x4 5contains 3 chunk(s)286 RenderSVGInlineText {#text} at (0,- 20) size 70x45285 RenderSVGText {text} at (20,-10) size 70x40 contains 3 chunk(s) 286 RenderSVGInlineText {#text} at (0,-16) size 70x40 287 287 chunk 1 text run 1 at (20.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 288 288 chunk 2 text run 1 at (40.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" -
trunk/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.checksum
r29246 r29700 1 bcc1bc7338bdb740ec3a9859440073f0 1 88d517e37039a22a204a7951ff775f59 -
trunk/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
r29246 r29700 51 51 RenderPath {line} at (249.17,91.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 52 52 RenderPath {rect} at (243.33,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 53 RenderSVGText {text} at (0,30) size 60x1 1contains 1 chunk(s)54 RenderSVGInlineText {#text} at (0,- 9) size 60x1153 RenderSVGText {text} at (0,30) size 60x10 contains 1 chunk(s) 54 RenderSVGInlineText {#text} at (0,-8) size 60x10 55 55 chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 56 56 RenderSVGContainer {use} at (260,141.67) size 13.33x31.67 … … 74 74 RenderPath {line} at (315.83,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 75 75 RenderPath {rect} at (310,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 76 RenderSVGText {text} at (10,60) size 45x1 1contains 4 chunk(s)77 RenderSVGInlineText {#text} at (0,- 9) size 45x1176 RenderSVGText {text} at (10,60) size 45x10 contains 4 chunk(s) 77 RenderSVGInlineText {#text} at (0,-8) size 45x10 78 78 chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 1 width 15.00: "1" 79 79 chunk 2 text run 1 at (20.00,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 90 90 RenderPath {line} at (349.17,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 91 91 RenderPath {rect} at (343.33,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 92 RenderSVGText {text} at (10,90) size 95x1 1contains 2 chunk(s)93 RenderSVGInlineText {#text} at (0,- 9) size 95x1192 RenderSVGText {text} at (10,90) size 95x10 contains 2 chunk(s) 93 RenderSVGInlineText {#text} at (0,-8) size 95x10 94 94 chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 1 width 15.00: "1" 95 95 chunk 2 text run 1 at (60.00,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 115 115 RenderPath {line} at (324.17,258.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 116 116 RenderPath {rect} at (318.33,276.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 117 RenderSVGText {text} at (0,-10) size 60x3 1contains 1 chunk(s)118 RenderSVGInlineText {#text} at (0,- 9) size 60x31117 RenderSVGText {text} at (0,-10) size 60x30 contains 1 chunk(s) 118 RenderSVGInlineText {#text} at (0,-8) size 60x30 119 119 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 120 120 RenderSVGContainer {g} at (260,275) size 81.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 139 139 RenderPath {line} at (315.83,308.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 140 140 RenderPath {rect} at (310,326.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 141 RenderSVGText {text} at (10,-10) size 45x3 1contains 4 chunk(s)142 RenderSVGInlineText {#text} at (0,- 9) size 45x31141 RenderSVGText {text} at (10,-10) size 45x30 contains 4 chunk(s) 142 RenderSVGInlineText {#text} at (0,-8) size 45x30 143 143 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 144 144 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 166 166 RenderPath {line} at (332.50,358.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 167 167 RenderPath {rect} at (326.67,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 168 RenderSVGText {text} at (10,-10) size 55x3 1contains 2 chunk(s)169 RenderSVGInlineText {#text} at (0,- 9) size 55x31168 RenderSVGText {text} at (10,-10) size 55x30 contains 2 chunk(s) 169 RenderSVGInlineText {#text} at (0,-8) size 55x30 170 170 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 171 171 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 181 181 RenderPath {line} at (274.17,400) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 182 182 RenderPath {rect} at (268.33,418.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 183 RenderSVGText {text} at (0,-10) size 60x2 6contains 1 chunk(s)184 RenderSVGInlineText {#text} at (0,- 9) size 60x26183 RenderSVGText {text} at (0,-10) size 60x25 contains 1 chunk(s) 184 RenderSVGInlineText {#text} at (0,-8) size 60x25 185 185 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 186 186 RenderSVGContainer {g} at (260,425) size 81.67x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 205 205 RenderPath {line} at (315.83,433.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 206 206 RenderPath {rect} at (310,451.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 207 RenderSVGText {text} at (10,-10) size 45x1 7contains 4 chunk(s)208 RenderSVGInlineText {#text} at (0,- 9) size 45x17207 RenderSVGText {text} at (10,-10) size 45x16 contains 4 chunk(s) 208 RenderSVGInlineText {#text} at (0,-8) size 45x16 209 209 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 210 210 chunk 2 text run 1 at (20.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 222 222 RenderPath {line} at (349.17,483.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 223 223 RenderPath {rect} at (343.33,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 224 RenderSVGText {text} at (10,-10) size 95x1 7contains 2 chunk(s)225 RenderSVGInlineText {#text} at (0,- 9) size 95x17224 RenderSVGText {text} at (10,-10) size 95x16 contains 2 chunk(s) 225 RenderSVGInlineText {#text} at (0,-8) size 95x16 226 226 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 227 227 chunk 2 text run 1 at (60.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 241 241 RenderPath {line} at (415.83,91.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 242 242 RenderPath {rect} at (410,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 243 RenderSVGText {text} at (-30,30) size 60x1 1contains 1 chunk(s)244 RenderSVGInlineText {#text} at (0,- 9) size 60x11243 RenderSVGText {text} at (-30,30) size 60x10 contains 1 chunk(s) 244 RenderSVGInlineText {#text} at (0,-8) size 60x10 245 245 chunk 1 (middle anchor) text run 1 at (-30.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 246 246 RenderSVGContainer {g} at (426.67,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}] … … 260 260 RenderPath {line} at (482.50,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 261 261 RenderPath {rect} at (476.67,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 262 RenderSVGText {text} at (2,60) size 46x1 1contains 4 chunk(s)263 RenderSVGInlineText {#text} at (0,- 9) size 46x11262 RenderSVGText {text} at (2,60) size 46x10 contains 4 chunk(s) 263 RenderSVGInlineText {#text} at (0,-8) size 46x10 264 264 chunk 1 (middle anchor) text run 1 at (2.50,60.00) startOffset 0 endOffset 1 width 15.00: "1" 265 265 chunk 2 (middle anchor) text run 1 at (12.50,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 274 274 RenderPath {line} at (515.83,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 275 275 RenderPath {rect} at (510.00,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 276 RenderSVGText {text} at (2,90) size 81x1 1contains 2 chunk(s)277 RenderSVGInlineText {#text} at (0,- 9) size 81x11276 RenderSVGText {text} at (2,90) size 81x10 contains 2 chunk(s) 277 RenderSVGInlineText {#text} at (0,-8) size 81x10 278 278 chunk 1 (middle anchor) text run 1 at (2.50,90.00) startOffset 0 endOffset 1 width 15.00: "1" 279 279 chunk 2 (middle anchor) text run 1 at (37.50,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 295 295 RenderPath {line} at (490.83,258.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 296 296 RenderPath {rect} at (485,276.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 297 RenderSVGText {text} at (-30,-10) size 60x3 1contains 1 chunk(s)298 RenderSVGInlineText {#text} at (0,- 9) size 60x31297 RenderSVGText {text} at (-30,-10) size 60x30 contains 1 chunk(s) 298 RenderSVGInlineText {#text} at (0,-8) size 60x30 299 299 chunk 1 (middle anchor) text run 1 at (-30.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 300 300 RenderSVGContainer {g} at (420,275) size 76.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 315 315 RenderPath {line} at (482.50,308.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 316 316 RenderPath {rect} at (476.67,326.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 317 RenderSVGText {text} at (2,-10) size 46x3 1contains 4 chunk(s)318 RenderSVGInlineText {#text} at (0,- 9) size 46x31317 RenderSVGText {text} at (2,-10) size 46x30 contains 4 chunk(s) 318 RenderSVGInlineText {#text} at (0,-8) size 46x30 319 319 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 320 320 chunk 2 (middle anchor) text run 1 at (12.50,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 338 338 RenderPath {line} at (499.17,358.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 339 339 RenderPath {rect} at (493.33,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 340 RenderSVGText {text} at (-3,-10) size 45x3 1contains 2 chunk(s)341 RenderSVGInlineText {#text} at (1,- 9) size 45x31340 RenderSVGText {text} at (-3,-10) size 45x30 contains 2 chunk(s) 341 RenderSVGInlineText {#text} at (1,-8) size 45x30 342 342 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 343 343 chunk 2 (middle anchor) text run 1 at (-2.50,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 351 351 RenderPath {line} at (440.83,400) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 352 352 RenderPath {rect} at (435,418.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 353 RenderSVGText {text} at (-30,-10) size 60x2 6contains 1 chunk(s)354 RenderSVGInlineText {#text} at (0,- 9) size 60x26353 RenderSVGText {text} at (-30,-10) size 60x25 contains 1 chunk(s) 354 RenderSVGInlineText {#text} at (0,-8) size 60x25 355 355 chunk 1 (middle anchor) text run 1 at (-30.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 356 356 RenderSVGContainer {g} at (420,425) size 76.67x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 371 371 RenderPath {line} at (482.50,433.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 372 372 RenderPath {rect} at (476.67,451.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 373 RenderSVGText {text} at (2,-10) size 46x1 7contains 4 chunk(s)374 RenderSVGInlineText {#text} at (0,- 9) size 46x17373 RenderSVGText {text} at (2,-10) size 46x16 contains 4 chunk(s) 374 RenderSVGInlineText {#text} at (0,-8) size 46x16 375 375 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 376 376 chunk 2 (middle anchor) text run 1 at (12.50,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 386 386 RenderPath {line} at (515.83,483.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 387 387 RenderPath {rect} at (510.00,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 388 RenderSVGText {text} at (2,-10) size 81x1 7contains 2 chunk(s)389 RenderSVGInlineText {#text} at (0,- 9) size 81x17388 RenderSVGText {text} at (2,-10) size 81x16 contains 2 chunk(s) 389 RenderSVGInlineText {#text} at (0,-8) size 81x16 390 390 chunk 1 (middle anchor) text run 1 at (2.50,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 391 391 chunk 2 (middle anchor) text run 1 at (37.50,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 405 405 RenderPath {line} at (582.50,91.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 406 406 RenderPath {rect} at (576.67,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 407 RenderSVGText {text} at (-60,30) size 60x1 1contains 1 chunk(s)408 RenderSVGInlineText {#text} at (0,- 9) size 60x11407 RenderSVGText {text} at (-60,30) size 60x10 contains 1 chunk(s) 408 RenderSVGInlineText {#text} at (0,-8) size 60x10 409 409 chunk 1 (end anchor) text run 1 at (-60.00,30.00) startOffset 0 endOffset 4 width 60.00: "1234" 410 410 RenderSVGContainer {g} at (593.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}] … … 424 424 RenderPath {line} at (649.17,141.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 425 425 RenderPath {rect} at (643.33,160.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 426 RenderSVGText {text} at (-5,60) size 45x1 1contains 4 chunk(s)427 RenderSVGInlineText {#text} at (0,- 9) size 45x11426 RenderSVGText {text} at (-5,60) size 45x10 contains 4 chunk(s) 427 RenderSVGInlineText {#text} at (0,-8) size 45x10 428 428 chunk 1 (end anchor) text run 1 at (-5.00,60.00) startOffset 0 endOffset 1 width 15.00: "1" 429 429 chunk 2 (end anchor) text run 1 at (5.00,60.00) startOffset 1 endOffset 2 width 15.00: "2" … … 438 438 RenderPath {line} at (682.50,191.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 439 439 RenderPath {rect} at (676.67,210.00) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 440 RenderSVGText {text} at (-5,90) size 65x1 1contains 2 chunk(s)441 RenderSVGInlineText {#text} at (0,- 9) size 65x11440 RenderSVGText {text} at (-5,90) size 65x10 contains 2 chunk(s) 441 RenderSVGInlineText {#text} at (0,-8) size 65x10 442 442 chunk 1 (end anchor) text run 1 at (-5.00,90.00) startOffset 0 endOffset 1 width 15.00: "1" 443 443 chunk 2 (end anchor) text run 1 at (15.00,90.00) startOffset 1 endOffset 4 width 45.00: "234" … … 459 459 RenderPath {line} at (657.50,258.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 460 460 RenderPath {rect} at (651.67,276.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 461 RenderSVGText {text} at (-60,-10) size 60x3 1contains 1 chunk(s)462 RenderSVGInlineText {#text} at (0,- 9) size 60x31461 RenderSVGText {text} at (-60,-10) size 60x30 contains 1 chunk(s) 462 RenderSVGInlineText {#text} at (0,-8) size 60x30 463 463 chunk 1 (end anchor) text run 1 at (-60.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 464 464 RenderSVGContainer {g} at (575,275) size 81.67x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}] … … 479 479 RenderPath {line} at (649.17,308.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 480 480 RenderPath {rect} at (643.33,326.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 481 RenderSVGText {text} at (-5,-10) size 45x3 1contains 4 chunk(s)482 RenderSVGInlineText {#text} at (0,- 9) size 45x31481 RenderSVGText {text} at (-5,-10) size 45x30 contains 4 chunk(s) 482 RenderSVGInlineText {#text} at (0,-8) size 45x30 483 483 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 484 484 chunk 2 (end anchor) text run 1 at (5.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 502 502 RenderPath {line} at (665.83,358.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 503 503 RenderPath {rect} at (660.00,376.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 504 RenderSVGText {text} at (-25,-10) size 45x3 1contains 2 chunk(s)505 RenderSVGInlineText {#text} at (0,- 9) size 45x31504 RenderSVGText {text} at (-25,-10) size 45x30 contains 2 chunk(s) 505 RenderSVGInlineText {#text} at (0,-8) size 45x30 506 506 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 507 507 chunk 2 (end anchor) text run 1 at (-25.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" … … 515 515 RenderPath {line} at (607.50,400) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 516 516 RenderPath {rect} at (601.67,418.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 517 RenderSVGText {text} at (-60,-10) size 60x2 6contains 1 chunk(s)518 RenderSVGInlineText {#text} at (0,- 9) size 60x26517 RenderSVGText {text} at (-60,-10) size 60x25 contains 1 chunk(s) 518 RenderSVGInlineText {#text} at (0,-8) size 60x25 519 519 chunk 1 (end anchor) text run 1 at (-60.00,-10.00) startOffset 0 endOffset 4 width 60.00: "1234" 520 520 RenderSVGContainer {g} at (575,425) size 81.67x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] … … 535 535 RenderPath {line} at (649.17,433.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 536 536 RenderPath {rect} at (643.33,451.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 537 RenderSVGText {text} at (-5,-10) size 45x1 7contains 4 chunk(s)538 RenderSVGInlineText {#text} at (0,- 9) size 45x17537 RenderSVGText {text} at (-5,-10) size 45x16 contains 4 chunk(s) 538 RenderSVGInlineText {#text} at (0,-8) size 45x16 539 539 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 540 540 chunk 2 (end anchor) text run 1 at (5.00,-5.00) startOffset 1 endOffset 2 width 15.00: "2" … … 550 550 RenderPath {line} at (682.50,483.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 551 551 RenderPath {rect} at (676.67,501.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 552 RenderSVGText {text} at (-5,-10) size 65x1 7contains 2 chunk(s)553 RenderSVGInlineText {#text} at (0,- 9) size 65x17552 RenderSVGText {text} at (-5,-10) size 65x16 contains 2 chunk(s) 553 RenderSVGInlineText {#text} at (0,-8) size 65x16 554 554 chunk 1 (end anchor) text run 1 at (-5.00,-10.00) startOffset 0 endOffset 1 width 15.00: "1" 555 555 chunk 2 (end anchor) text run 1 at (15.00,-5.00) startOffset 1 endOffset 4 width 45.00: "234" -
trunk/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.checksum
r29246 r29700 1 66bb255bb77facb1b7c236a3a98c1d82 1 1cbcc6794541f3d40cbbde9124fe35f0 -
trunk/LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt
r29246 r29700 3 3 layer at (0,0) size 800x600 4 4 RenderSVGRoot {svg} at (0.83,0.83) size 798.33x598.33 5 RenderSVGContainer {g} at (50,91.67) size 4 56.67x348.335 RenderSVGContainer {g} at (50,91.67) size 463.33x348.33 6 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 7 7 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 … … 9 9 RenderPath {line} at (-0.50,-15) size 1x15 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00L0.00,-15.00"] 10 10 RenderPath {rect} at (-4,-4) size 8x8 [fill={[type=SOLID] [color=#000000]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 11 RenderSVGContainer {g} at (50,91.67) size 4 56.67x348.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,30.00)}]11 RenderSVGContainer {g} at (50,91.67) size 463.33x348.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,30.00)}] 12 12 RenderSVGContainer {g} at (50,98.33) size 118.33x256.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,40.00)}] 13 13 RenderSVGText {text} at (0,0) size 62x14 contains 1 chunk(s) … … 20 20 RenderSVGInlineText {#text} at (0,-11) size 71x14 21 21 chunk 1 text run 1 at (0.00,140.00) startOffset 0 endOffset 15 width 71.00: "x/y positioning" 22 RenderSVGContainer {g} at (210,91.67) size 296.67x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,40.00)}]22 RenderSVGContainer {g} at (210,91.67) size 303.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,40.00)}] 23 23 RenderSVGContainer {use} at (210,91.67) size 13.33x31.67 24 24 RenderSVGContainer {g} at (210,91.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,0.00)}] … … 51 51 RenderPath {line} at (415.83,91.67) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 52 52 RenderPath {rect} at (410,110) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 53 RenderSVGText {text} at (10,0) size 17 3x11contains 6 chunk(s)54 RenderSVGInlineText {#text} at (0,- 9) size 173x1155 chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 1 width 3.00: "f"56 chunk 2 text run 1 at (180.00,0.00) startOffset 1 endOffset 2 width 3.00: "i"53 RenderSVGText {text} at (10,0) size 178x10 contains 6 chunk(s) 54 RenderSVGInlineText {#text} at (0,-8) size 178x10 55 chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 1 width 8.00: "f" 56 chunk 2 text run 1 at (180.00,0.00) startOffset 1 endOffset 2 width 8.00: "i" 57 57 chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 15.00: "1" 58 58 chunk 4 text run 1 at (70.00,0.00) startOffset 3 endOffset 4 width 15.00: "2" 59 59 chunk 5 text run 1 at (100.00,0.00) startOffset 4 endOffset 5 width 15.00: "3" 60 60 chunk 6 text run 1 at (130.00,0.00) startOffset 5 endOffset 6 width 15.00: "4" 61 RenderSVGContainer {g} at (193.33,141.67) size 1 16.67x131.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,80.00)}]61 RenderSVGContainer {g} at (193.33,141.67) size 133.33x131.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,80.00)}] 62 62 RenderSVGContainer {use} at (193.33,141.67) size 13.33x31.67 63 63 RenderSVGContainer {g} at (193.33,141.67) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}] … … 90 90 RenderPath {line} at (299.17,208.33) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 91 91 RenderPath {rect} at (293.33,226.67) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 92 RenderSVGText {text} at (0,-10) size 66x71contains 1 chunk(s)93 RenderSVGInlineText {#text} at (0,- 9) size 66x7192 RenderSVGText {text} at (0,-10) size 76x70 contains 1 chunk(s) 93 RenderSVGInlineText {#text} at (0,-8) size 76x70 94 94 chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 6 width 75.00: "fi1234" 95 RenderSVGContainer {g} at (210,308.33) size 296.67x131.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}]95 RenderSVGContainer {g} at (210,308.33) size 303.33x131.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}] 96 96 RenderSVGContainer {use} at (210,308.33) size 13.33x31.67 97 97 RenderSVGContainer {g} at (210,308.33) size 13.33x31.67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}] … … 124 124 RenderPath {line} at (415.83,375) size 1.67x25 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#8888FF]}] [data="M0.00,0.00L0.00,-15.00"] 125 125 RenderPath {rect} at (410,393.33) size 13.33x13.33 [fill={[type=SOLID] [color=#8888FF]}] [data="M-4.00,-4.00L4.00,-4.00L4.00,4.00L-4.00,4.00"] 126 RenderSVGText {text} at (10,-10) size 17 3x71contains 6 chunk(s)127 RenderSVGInlineText {#text} at (0,- 9) size 173x71128 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 3.00: "f"129 chunk 2 text run 1 at (180.00,50.00) startOffset 1 endOffset 2 width 3.00: "i"126 RenderSVGText {text} at (10,-10) size 178x70 contains 6 chunk(s) 127 RenderSVGInlineText {#text} at (0,-8) size 178x70 128 chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 8.00: "f" 129 chunk 2 text run 1 at (180.00,50.00) startOffset 1 endOffset 2 width 8.00: "i" 130 130 chunk 3 text run 1 at (40.00,0.00) startOffset 2 endOffset 3 width 15.00: "1" 131 131 chunk 4 text run 1 at (70.00,10.00) startOffset 3 endOffset 4 width 15.00: "2" -
trunk/WebCore/ChangeLog
r29698 r29700 1 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> 2 3 Reviewed by Eric. Older parts reviewed by Dan. 4 5 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16880 (SVGCSSFontFace should die, instead integrate within the FontCache.) 6 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16784 (In-document fonts work only as the first child to font-face-src) 7 8 Proper integration of SVG Fonts within the existing custom font concept, removing the need for a custom SVGCSSFontFace. 9 Integrate within the CSSFontFaceSource logic for caching support, as well as the framework for external SVG Fonts. 10 11 Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering. 12 13 * GNUmakefile.am: 14 * WebCore.pro: 15 * WebCore.vcproj/WebCore.vcproj: 16 * WebCore.xcodeproj/project.pbxproj: 17 * css/CSSFontFaceSource.cpp: 18 (WebCore::CSSFontFaceSource::getFontData): 19 * css/CSSFontFaceSource.h: 20 (WebCore::CSSFontFaceSource::svgFontFaceElement): 21 (WebCore::CSSFontFaceSource::setSVGFontFaceElement): 22 * css/CSSFontFaceSrcValue.h: 23 (WebCore::CSSFontFaceSrcValue::m_isLocal): 24 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): 25 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): 26 (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): 27 * css/CSSFontSelector.cpp: 28 (WebCore::CSSFontSelector::addFontFaceRule): 29 * css/SVGCSSFontFace.cpp: Removed. 30 * css/SVGCSSFontFace.h: Removed. 31 * platform/graphics/Font.cpp: 32 (WebCore::Font::ascent): 33 (WebCore::Font::descent): 34 (WebCore::Font::lineSpacing): 35 (WebCore::Font::xHeight): 36 (WebCore::Font::fontSelector): 37 * platform/graphics/Font.h: 38 * platform/graphics/FontData.h: 39 * platform/graphics/SegmentedFontData.cpp: 40 (WebCore::SegmentedFontData::isSVGFont): 41 * platform/graphics/SegmentedFontData.h: 42 * platform/graphics/SimpleFontData.cpp: 43 (WebCore::SimpleFontData::SimpleFontData): 44 * platform/graphics/SimpleFontData.h: 45 (WebCore::SimpleFontData::ascent): 46 (WebCore::SimpleFontData::descent): 47 (WebCore::SimpleFontData::lineSpacing): 48 (WebCore::SimpleFontData::lineGap): 49 (WebCore::SimpleFontData::xHeight): 50 (WebCore::SimpleFontData::isSVGFont): 51 (WebCore::SimpleFontData::svgFontData): 52 * platform/graphics/gtk/FontPlatformData.h: 53 (WebCore::FontPlatformData::size): 54 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 55 (WebCore::FontPlatformData): 56 * platform/graphics/mac/FontPlatformData.h: 57 (WebCore::FontPlatformData::FontPlatformData): 58 (WebCore::FontPlatformData::size): 59 * platform/graphics/win/FontPlatformData.h: 60 * platform/graphics/win/FontPlatformDataWin.cpp: 61 (WebCore::FontPlatformData::FontPlatformData): 62 * rendering/RenderSVGText.cpp: 63 (WebCore::RenderSVGText::relativeBBox): 64 * svg/SVGFont.cpp: 65 (WebCore::convertEmUnitToPixel): 66 (WebCore::isCompatibleGlyph): 67 (WebCore::svgFontAndFontFaceElementForFontData): 68 (WebCore::SVGTextRunWalker::SVGTextRunWalker): 69 (WebCore::SVGTextRunWalker::walk): 70 (WebCore::floatWidthUsingSVGFontCallback): 71 (WebCore::floatWidthMissingGlyphCallback): 72 (WebCore::floatWidthOfSubStringUsingSVGFont): 73 (WebCore::drawTextUsingSVGFontCallback): 74 (WebCore::drawTextMissingGlyphCallback): 75 (WebCore::Font::drawTextUsingSVGFont): 76 * svg/SVGFontData.cpp: Added. 77 (WebCore::SVGFontData::SVGFontData): 78 (WebCore::SVGFontData::~SVGFontData): 79 * svg/SVGFontData.h: Added. 80 (WebCore::SVGFontData::svgFontFaceElement): 81 (WebCore::SVGFontData::horizontalOriginX): 82 (WebCore::SVGFontData::horizontalOriginY): 83 (WebCore::SVGFontData::horizontalAdvanceX): 84 (WebCore::SVGFontData::verticalOriginX): 85 (WebCore::SVGFontData::verticalOriginY): 86 (WebCore::SVGFontData::verticalAdvanceY): 87 * svg/SVGFontFaceElement.cpp: 88 (WebCore::SVGFontFaceElement::unitsPerEm): 89 (WebCore::SVGFontFaceElement::xHeight): 90 (WebCore::SVGFontFaceElement::horizontalOriginX): 91 (WebCore::SVGFontFaceElement::horizontalOriginY): 92 (WebCore::SVGFontFaceElement::horizontalAdvanceX): 93 (WebCore::SVGFontFaceElement::verticalOriginX): 94 (WebCore::SVGFontFaceElement::verticalOriginY): 95 (WebCore::SVGFontFaceElement::verticalAdvanceY): 96 (WebCore::SVGFontFaceElement::ascent): 97 (WebCore::SVGFontFaceElement::descent): 98 (WebCore::SVGFontFaceElement::fontFamily): 99 (WebCore::SVGFontFaceElement::associatedFontElement): 100 (WebCore::SVGFontFaceElement::rebuildFontFace): 101 * svg/SVGFontFaceElement.h: 102 * svg/SVGGlyphElement.cpp: 103 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): 104 (WebCore::parseSVGGlyphAttribute): 105 (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): 106 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 107 * svg/SVGGlyphElement.h: 108 * svg/SVGMissingGlyphElement.cpp: 109 * svg/svgattrs.in: 110 1 111 2008-01-21 Darin Adler <darin@apple.com> 2 112 -
trunk/WebCore/GNUmakefile.am
r29670 r29700 1634 1634 WebCore/css/SVGCSSParser.cpp \ 1635 1635 WebCore/css/SVGCSSStyleSelector.cpp \ 1636 WebCore/css/SVGCSSFontFace.cpp \1637 1636 WebCore/rendering/SVGRenderStyle.cpp \ 1638 1637 WebCore/rendering/SVGRenderStyleDefs.cpp \ … … 1695 1694 WebCore/svg/SVGFitToViewBox.cpp \ 1696 1695 WebCore/svg/SVGFont.cpp \ 1696 WebCore/svg/SVGFontData.cpp \ 1697 1697 WebCore/svg/SVGFontElement.cpp \ 1698 1698 WebCore/svg/SVGFontFaceElement.cpp \ -
trunk/WebCore/WebCore.pro
r29624 r29700 1367 1367 css/SVGCSSParser.cpp \ 1368 1368 css/SVGCSSStyleSelector.cpp \ 1369 css/SVGCSSFontFace.cpp \1370 1369 rendering/SVGRenderStyle.cpp \ 1371 1370 rendering/SVGRenderStyleDefs.cpp \ … … 1428 1427 svg/SVGFitToViewBox.cpp \ 1429 1428 svg/SVGFont.cpp \ 1429 svg/SVGFontData.cpp \ 1430 1430 svg/SVGFontElement.cpp \ 1431 1431 svg/SVGFontFaceElement.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r29488 r29700 4895 4895 </File> 4896 4896 <File 4897 RelativePath="..\css\SVGCSSFontFace.cpp"4898 >4899 </File>4900 <File4901 4897 RelativePath="..\css\SVGCSSParser.cpp" 4902 4898 > … … 8403 8399 <File 8404 8400 RelativePath="..\svg\SVGFont.cpp" 8401 > 8402 </File> 8403 <File 8404 RelativePath="..\svg\SVGFontData.cpp" 8405 > 8406 </File> 8407 <File 8408 RelativePath="..\svg\SVGFontData.h" 8405 8409 > 8406 8410 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r29508 r29700 2830 2830 B23540F20D00782E002382FA /* StringTruncator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B23540F00D00782E002382FA /* StringTruncator.cpp */; }; 2831 2831 B23540F30D00782E002382FA /* StringTruncator.h in Headers */ = {isa = PBXBuildFile; fileRef = B23540F10D00782E002382FA /* StringTruncator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2832 B237C8A70D344D110013F707 /* SVGFontData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B237C8A50D344D110013F707 /* SVGFontData.cpp */; }; 2833 B237C8A80D344D110013F707 /* SVGFontData.h in Headers */ = {isa = PBXBuildFile; fileRef = B237C8A60D344D110013F707 /* SVGFontData.h */; }; 2832 2834 B24055650B5BE640002A28C0 /* DOMSVGElementInstanceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B24055630B5BE640002A28C0 /* DOMSVGElementInstanceInternal.h */; }; 2833 2835 B24055660B5BE640002A28C0 /* DOMSVGElementInstanceListInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B24055640B5BE640002A28C0 /* DOMSVGElementInstanceListInternal.h */; }; … … 3156 3158 B2CCEC470C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2CCEC450C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp */; }; 3157 3159 B2CCEC480C6CA9F1006A5424 /* RenderSVGViewportContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CCEC460C6CA9F1006A5424 /* RenderSVGViewportContainer.h */; }; 3158 B2D19A480CEF9DC1000E033B /* SVGCSSFontFace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */; };3159 B2D19A490CEF9DC1000E033B /* SVGCSSFontFace.h in Headers */ = {isa = PBXBuildFile; fileRef = B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */; };3160 3160 B2D3FC8A0C2212CB00CF3618 /* JSSVGTransformListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2D3FC890C2212CB00CF3618 /* JSSVGTransformListCustom.cpp */; }; 3161 3161 B2E27C9F0B0F2B0900F17C7B /* FloatPoint3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2E27C9D0B0F2B0900F17C7B /* FloatPoint3D.cpp */; }; … … 6894 6894 B23540F00D00782E002382FA /* StringTruncator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringTruncator.cpp; sourceTree = "<group>"; }; 6895 6895 B23540F10D00782E002382FA /* StringTruncator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StringTruncator.h; sourceTree = "<group>"; }; 6896 B237C8A50D344D110013F707 /* SVGFontData.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFontData.cpp; sourceTree = "<group>"; }; 6897 B237C8A60D344D110013F707 /* SVGFontData.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGFontData.h; sourceTree = "<group>"; }; 6896 6898 B24055630B5BE640002A28C0 /* DOMSVGElementInstanceInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGElementInstanceInternal.h; sourceTree = "<group>"; }; 6897 6899 B24055640B5BE640002A28C0 /* DOMSVGElementInstanceListInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGElementInstanceListInternal.h; sourceTree = "<group>"; }; … … 7224 7226 B2CCEC450C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGViewportContainer.cpp; sourceTree = "<group>"; }; 7225 7227 B2CCEC460C6CA9F1006A5424 /* RenderSVGViewportContainer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderSVGViewportContainer.h; sourceTree = "<group>"; }; 7226 B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGCSSFontFace.cpp; sourceTree = "<group>"; };7227 B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGCSSFontFace.h; sourceTree = "<group>"; };7228 7228 B2D3FC890C2212CB00CF3618 /* JSSVGTransformListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGTransformListCustom.cpp; sourceTree = "<group>"; }; 7229 7229 B2E27C9D0B0F2B0900F17C7B /* FloatPoint3D.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FloatPoint3D.cpp; sourceTree = "<group>"; }; … … 10743 10743 B222787D0D00BF200071B782 /* SVGFitToViewBox.idl */, 10744 10744 B262B8030D1F32D000158F09 /* SVGFont.cpp */, 10745 B237C8A50D344D110013F707 /* SVGFontData.cpp */, 10746 B237C8A60D344D110013F707 /* SVGFontData.h */, 10745 10747 B2A1F2A10CEF0ABF00442F6A /* SVGFontElement.cpp */, 10746 10748 B2A1F2A20CEF0ABF00442F6A /* SVGFontElement.h */, … … 11953 11955 B2227B000D00BFF10071B782 /* SVGCSSComputedStyleDeclaration.cpp */, 11954 11956 B2227B010D00BFF10071B782 /* SVGCSSParser.cpp */, 11955 B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */,11956 B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */,11957 11957 B2227B020D00BFF10071B782 /* SVGCSSPropertyNames.in */, 11958 11958 B2227B030D00BFF10071B782 /* SVGCSSStyleSelector.cpp */, … … 14171 14171 B27B283E0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.h in Headers */, 14172 14172 B27B28400CEF0C3600D39D54 /* DOMSVGMissingGlyphElementInternal.h in Headers */, 14173 B2D19A490CEF9DC1000E033B /* SVGCSSFontFace.h in Headers */,14174 14173 BCA379150D163E5500B793D6 /* JSLocation.h in Headers */, 14175 14174 BCA3793F0D1647E000B793D6 /* JSLocation.lut.h in Headers */, … … 14197 14196 371F53E90D2704F900ECE0D5 /* CSSUnicodeRangeValue.h in Headers */, 14198 14197 ABFE7E130D32FAF60066F4D2 /* MediaControlElements.h in Headers */, 14198 B237C8A80D344D110013F707 /* SVGFontData.h in Headers */, 14199 14199 E4EEFFC90D34550C00469A58 /* JSAudioConstructor.h in Headers */, 14200 14200 939B3E4E0D3C1E8400B4A92B /* StringBuffer.h in Headers */, … … 14237 14237 isa = PBXProject; 14238 14238 buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */; 14239 compatibilityVersion = "Xcode 2.4";14240 14239 hasScannedForEncodings = 1; 14241 14240 knownRegions = ( … … 15771 15770 B27B283C0CEF0C3600D39D54 /* DOMSVGGlyphElement.mm in Sources */, 15772 15771 B27B283F0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.mm in Sources */, 15773 B2D19A480CEF9DC1000E033B /* SVGCSSFontFace.cpp in Sources */,15774 15772 B262B8040D1F32D000158F09 /* SVGFont.cpp in Sources */, 15775 15773 BC7FA6200D1F0CBD00DB22A9 /* DynamicNodeList.cpp in Sources */, … … 15788 15786 371F53EA0D2704F900ECE0D5 /* CSSUnicodeRangeValue.cpp in Sources */, 15789 15787 ABFE7E120D32FAF60066F4D2 /* MediaControlElements.cpp in Sources */, 15788 B237C8A70D344D110013F707 /* SVGFontData.cpp in Sources */, 15790 15789 E4EEFFC80D34550C00469A58 /* JSAudioConstructor.cpp in Sources */, 15791 15790 ); -
trunk/WebCore/css/CSSFontFaceSource.cpp
r29663 r29700 32 32 #include "DocLoader.h" 33 33 #include "FontCache.h" 34 #include "SimpleFontData.h"35 34 #include "FontDescription.h" 36 35 #include "GlyphPageTreeNode.h" 36 #include "SimpleFontData.h" 37 38 #if ENABLE(SVG_FONTS) 39 #include "SVGFontData.h" 40 #include "FontCustomPlatformData.h" 41 #endif 37 42 38 43 namespace WebCore { … … 89 94 return 0; 90 95 91 if (!m_font) 92 // We're local. Just return a SimpleFontData from the normal cache. 93 return FontCache::getCachedFontData(FontCache::getCachedFontPlatformData(fontDescription, m_string)); 94 96 #if ENABLE(SVG_FONTS) 97 if (!m_font && !m_svgFontFaceElement) { 98 #else 99 if (!m_font) { 100 #endif 101 FontPlatformData* data = FontCache::getCachedFontPlatformData(fontDescription, m_string); 102 SimpleFontData* fontData = FontCache::getCachedFontData(data); 103 104 // We're local. Just return a SimpleFontData from the normal cache. 105 return fontData; 106 } 107 95 108 // See if we have a mapping in our FontData cache. 96 SimpleFontData* cachedData = m_fontDataTable.get(fontDescription.computedPixelSize()); 97 if (cachedData) 109 if (SimpleFontData* cachedData = m_fontDataTable.get(fontDescription.computedPixelSize())) 98 110 return cachedData; 99 111 112 OwnPtr<SimpleFontData> fontData; 113 100 114 // If we are still loading, then we let the system pick a font. 101 115 if (isLoaded()) { 102 // Create new FontPlatformData from our CGFontRef, point size and ATSFontRef. 103 if (!m_font->ensureCustomFontData()) 104 return 0; 105 cachedData = new SimpleFontData(m_font->platformDataFromCustomData(fontDescription.computedPixelSize(), syntheticBold, syntheticItalic), true, false); 116 #if ENABLE(SVG_FONTS) 117 if (m_svgFontFaceElement) 118 fontData.set(new SimpleFontData(FontPlatformData(fontDescription.computedPixelSize(), syntheticBold, syntheticItalic), 119 true, false, new SVGFontData(m_svgFontFaceElement.get()))); 120 #endif 121 122 if (!fontData) { 123 ASSERT(m_font); 124 125 // Create new FontPlatformData from our CGFontRef, point size and ATSFontRef. 126 if (!m_font->ensureCustomFontData()) 127 return 0; 128 129 fontData.set(new SimpleFontData(m_font->platformDataFromCustomData(fontDescription.computedPixelSize(), syntheticBold, syntheticItalic), true, false)); 130 } 106 131 } else { 107 132 // Kick off the load now. … … 111 136 if (!tempData) 112 137 tempData = FontCache::getLastResortFallbackFont(fontDescription); 113 cachedData = new SimpleFontData(*tempData, true, true);138 fontData.set(new SimpleFontData(*tempData, true, true)); 114 139 } 115 140 116 m_fontDataTable.set(fontDescription.computedPixelSize(), cachedData); 117 118 return cachedData; 141 m_fontDataTable.set(fontDescription.computedPixelSize(), fontData.get()); 142 return fontData.release(); 119 143 } 120 144 -
trunk/WebCore/css/CSSFontFaceSource.h
r29663 r29700 29 29 #include "AtomicString.h" 30 30 #include "CachedResourceClient.h" 31 #include "SVGFontFaceElement.h" 31 32 #include <wtf/HashMap.h> 32 33 … … 57 58 void pruneTable(); 58 59 60 #if ENABLE(SVG_FONTS) 61 SVGFontFaceElement* svgFontFaceElement() const { return m_svgFontFaceElement.get(); } 62 void setSVGFontFaceElement(SVGFontFaceElement* element) { m_svgFontFaceElement = element; } 63 #endif 64 59 65 private: 60 66 AtomicString m_string; // URI for remote, built-in font name for local. … … 62 68 CSSFontFace* m_face; // Our owning font face. 63 69 HashMap<int, SimpleFontData*> m_fontDataTable; // A cache of FontDatas for various pixel sizes. 70 71 #if ENABLE(SVG_FONTS) 72 RefPtr<SVGFontFaceElement> m_svgFontFaceElement; 73 #endif 64 74 }; 65 75 -
trunk/WebCore/css/CSSFontFaceSrcValue.h
r29663 r29700 29 29 #include "CSSValue.h" 30 30 #include "PlatformString.h" 31 #include "SVGFontFaceElement.h" 31 32 32 33 namespace WebCore { 33 34 class SVGFontFaceElement;35 34 36 35 class CSSFontFaceSrcValue : public CSSValue { … … 38 37 CSSFontFaceSrcValue(const String& resource, bool local) 39 38 :m_resource(resource), m_isLocal(local) 40 #if ENABLE(SVG_FONTS)41 , m_fontFaceElement(0)42 #endif43 39 {} 44 virtual ~CSSFontFaceSrcValue() {} ;40 virtual ~CSSFontFaceSrcValue() {} 45 41 46 42 const String& resource() const { return m_resource; } … … 53 49 54 50 #if ENABLE(SVG_FONTS) 55 SVGFontFaceElement* svgFontFaceElement() const { return m_ fontFaceElement; }56 void setSVGFontFaceElement(SVGFontFaceElement* element) { m_ fontFaceElement = element; }51 SVGFontFaceElement* svgFontFaceElement() const { return m_svgFontFaceElement.get(); } 52 void setSVGFontFaceElement(SVGFontFaceElement* element) { m_svgFontFaceElement = element; } 57 53 #endif 58 54 … … 63 59 String m_format; 64 60 bool m_isLocal; 61 65 62 #if ENABLE(SVG_FONTS) 66 SVGFontFaceElement* m_fontFaceElement;63 RefPtr<SVGFontFaceElement> m_svgFontFaceElement; 67 64 #endif 68 65 }; -
trunk/WebCore/css/CSSFontSelector.cpp
r29663 r29700 50 50 #include "Settings.h" 51 51 #include "SimpleFontData.h" 52 52 #include "SVGFontFaceElement.h" 53 54 // Ports which don't use SVG, don't generate SVGNames.h 53 55 #if ENABLE(SVG) 54 #include "SVGCSSFontFace.h"55 #include "SVGFontFaceElement.h"56 56 #include "SVGNames.h" 57 57 #endif … … 142 142 143 143 #if ENABLE(SVG_FONTS) 144 SVGFontFaceElement* svgFontFaceElement = 0;144 bool foundInDocumentSVGFont = false; 145 145 #endif 146 146 … … 160 160 161 161 #if ENABLE(SVG_FONTS) 162 // SVG Fonts support (internal fonts, living within the document) 163 svgFontFaceElement = item->svgFontFaceElement(); 164 if (svgFontFaceElement) { 165 // FIXME: If fontFace is not 0, it means that it is a CSSFontFace rather than a SVGCSSFontFace 166 // and therefore does not support SVG font-face elements, so we just skip this item. 167 if (fontFace) 168 continue; 169 foundLocal = true; 170 } 162 foundInDocumentSVGFont = item->svgFontFaceElement() != 0; 171 163 #endif 172 164 173 165 // Test the validity of the local font now. We don't want to include this font if it does not exist 174 166 // on the system. If it *does* exist on the system, then we don't need to look any further. 175 if (FontCache::fontExists(fontDescription, family) && !foundLocal) { 167 if (FontCache::fontExists(fontDescription, family) 168 #if ENABLE(SVG_FONTS) 169 || foundInDocumentSVGFont 170 #endif 171 ) { 176 172 source = new CSSFontFaceSource(family); 173 #if ENABLE(SVG_FONTS) 174 source->setSVGFontFaceElement(item->svgFontFaceElement()); 175 #endif 177 176 foundLocal = true; 178 177 } 179 178 } 180 179 181 if (!fontFace) { 182 #if ENABLE(SVG_FONTS) 183 if (svgFontFaceElement) 184 fontFace = new SVGCSSFontFace(svgFontFaceElement); 185 else 186 #endif 187 fontFace = new CSSFontFace(); 188 } 180 if (!fontFace) 181 fontFace = new CSSFontFace(); 189 182 190 183 if (source) … … 241 234 // SVG allows several <font> elements with the same font-family, differing only 242 235 // in ie. font-variant. Be sure to pick up the right one - in getFontData below. 243 if ( svgFontFaceElement && fontDescription.smallCaps())236 if (foundInDocumentSVGFont && fontDescription.smallCaps()) 244 237 familyName += "-webkit-svg-small-caps"; 245 238 #endif -
trunk/WebCore/platform/graphics/Font.cpp
r29250 r29700 508 508 int Font::ascent() const 509 509 { 510 return primaryFont()->ascent( size());510 return primaryFont()->ascent(); 511 511 } 512 512 513 513 int Font::descent() const 514 514 { 515 return primaryFont()->descent( size());515 return primaryFont()->descent(); 516 516 } 517 517 518 518 int Font::lineSpacing() const 519 519 { 520 return primaryFont()->lineSpacing( size());520 return primaryFont()->lineSpacing(); 521 521 } 522 522 523 523 float Font::xHeight() const 524 524 { 525 return primaryFont()->xHeight( size());525 return primaryFont()->xHeight(); 526 526 } 527 527 … … 790 790 } 791 791 792 } 792 FontSelector* Font::fontSelector() const 793 { 794 return m_fontList ? m_fontList->fontSelector() : 0; 795 } 796 797 } -
trunk/WebCore/platform/graphics/Font.h
r29250 r29700 252 252 return (((c & ~0xFF) == 0 && gRoundingHackCharacterTable[c])); 253 253 } 254 255 FontSelector* fontSelector() const; 254 256 #endif 255 257 static bool treatAsSpace(UChar c) { return c == ' ' || c == '\t' || c == '\n' || c == 0x00A0; } -
trunk/WebCore/platform/graphics/FontData.h
r29663 r29700 40 40 virtual const SimpleFontData* fontDataForCharacter(UChar32) const = 0; 41 41 virtual bool containsCharacters(const UChar*, int length) const = 0; 42 virtual bool isSVGFont() const = 0; 42 43 virtual bool isCustomFont() const = 0; 43 44 virtual bool isLoading() const = 0; -
trunk/WebCore/platform/graphics/SegmentedFontData.cpp
r29663 r29700 56 56 } 57 57 58 #if ENABLE(SVG_FONTS) 59 bool SegmentedFontData::isSVGFont() const 60 { 61 // We don't support segmented svg fonts at the moment. 62 return false; 63 } 64 #endif 65 58 66 bool SegmentedFontData::isCustomFont() const 59 67 { -
trunk/WebCore/platform/graphics/SegmentedFontData.h
r29663 r29700 58 58 virtual const SimpleFontData* fontDataForCharacter(UChar32) const; 59 59 virtual bool containsCharacters(const UChar*, int length) const; 60 61 #if ENABLE(SVG_FONTS) 62 virtual bool isSVGFont() const; 63 #endif 64 60 65 virtual bool isCustomFont() const; 61 66 virtual bool isLoading() const; -
trunk/WebCore/platform/graphics/SimpleFontData.cpp
r29250 r29700 31 31 #include "SimpleFontData.h" 32 32 33 #include <wtf/MathExtras.h>34 35 33 #if ENABLE(SVG_FONTS) 34 #include "SVGFontData.h" 36 35 #include "SVGFontFaceElement.h" 37 36 #endif 38 37 38 #include <wtf/MathExtras.h> 39 39 40 namespace WebCore { 40 41 41 #if ENABLE(SVG_FONTS) 42 // Don't implement constructor in the header to save a SVGFontFaceElement.h include. 43 SVGFontData::SVGFontData(SVGFontFaceElement* element) 44 : fontFaceElement(element) 45 , horizontalOriginX(0.0f) 46 , horizontalOriginY(0.0f) 47 , horizontalAdvanceX(0.0f) 48 , verticalOriginX(0.0f) 49 , verticalOriginY(0.0f) 50 , verticalAdvanceY(0.0f) 51 { 52 } 53 54 float SVGFontData::convertEmUnitToPixel(float fontSize, float unitsPerEm, float value) 55 { 56 ASSERT(unitsPerEm > 0.0f); 57 return value * fontSize / unitsPerEm; 58 } 59 #endif 60 61 SimpleFontData::SimpleFontData(const FontPlatformData& f, bool customFont, bool loading) 42 SimpleFontData::SimpleFontData(const FontPlatformData& f, bool customFont, bool loading, SVGFontData* svgFontData) 62 43 : m_font(f) 63 44 , m_treatAsFixedPitch(false) 64 #if ENABLE(SVG_FONTS) 65 , m_svgFontData(0) 66 #endif 45 , m_svgFontData(svgFontData) 67 46 , m_isCustomFont(customFont) 68 47 , m_isLoading(loading) 69 48 , m_smallCapsFontData(0) 70 { 49 { 50 #if ENABLE(SVG_FONTS) && !PLATFORM(QT) 51 if (SVGFontFaceElement* svgFontFaceElement = svgFontData ? svgFontData->svgFontFaceElement() : 0) { 52 m_unitsPerEm = svgFontFaceElement->unitsPerEm(); 53 54 float scale = f.size(); 55 if (m_unitsPerEm) 56 scale /= m_unitsPerEm; 57 58 m_ascent = svgFontFaceElement->ascent() * scale; 59 m_descent = svgFontFaceElement->descent() * scale; 60 m_xHeight = svgFontFaceElement->xHeight() * scale; 61 62 m_spaceGlyph = 0; 63 m_spaceWidth = 0; 64 m_adjustedSpaceWidth = 0; 65 determinePitch(); 66 m_missingGlyphData.fontData = this; 67 m_missingGlyphData.glyph = 0; 68 return; 69 } 70 #endif 71 71 72 platformInit(); 72 73 73 74 GlyphPage* glyphPageZero = GlyphPageTreeNode::getRootChild(this, 0)->page(); 74 75 if (!glyphPageZero) { … … 117 118 } 118 119 119 int SimpleFontData::ascent(float fontSize) const120 {121 #if ENABLE(SVG_FONTS)122 if (m_svgFontData)123 return SVGFontData::convertEmUnitToPixel(fontSize, m_unitsPerEm, m_ascent);124 #endif125 126 return m_ascent;127 }128 129 int SimpleFontData::descent(float fontSize) const130 {131 #if ENABLE(SVG_FONTS)132 if (m_svgFontData)133 return SVGFontData::convertEmUnitToPixel(fontSize, m_unitsPerEm, m_descent);134 #endif135 136 return m_descent;137 }138 139 int SimpleFontData::lineSpacing(float fontSize) const140 {141 #if ENABLE(SVG_FONTS)142 if (m_svgFontData)143 return (int) ceilf(SVGFontData::convertEmUnitToPixel(fontSize, m_unitsPerEm, m_lineSpacing));144 #endif145 146 return m_lineSpacing;147 }148 149 int SimpleFontData::lineGap(float fontSize) const150 {151 #if ENABLE(SVG_FONTS)152 if (m_svgFontData)153 return SVGFontData::convertEmUnitToPixel(fontSize, m_unitsPerEm, m_lineGap);154 #endif155 156 return m_lineGap;157 }158 159 float SimpleFontData::xHeight(float fontSize) const160 {161 #if ENABLE(SVG_FONTS)162 if (m_svgFontData)163 return SVGFontData::convertEmUnitToPixel(fontSize, m_unitsPerEm, m_xHeight);164 #endif165 166 return m_xHeight;167 }168 169 120 float SimpleFontData::widthForGlyph(Glyph glyph) const 170 121 { -
trunk/WebCore/platform/graphics/SimpleFontData.h
r29663 r29700 29 29 #include "GlyphWidthMap.h" 30 30 #include <wtf/OwnPtr.h> 31 31 32 #if PLATFORM(MAC) 32 33 typedef struct OpaqueATSUStyle* ATSUStyle; … … 42 43 class FontPlatformData; 43 44 class SharedBuffer; 45 class SVGFontData; 44 46 class WidthMap; 45 46 #if ENABLE(SVG_FONTS)47 class SVGFontFaceElement;48 49 struct SVGFontData {50 SVGFontData(SVGFontFaceElement*);51 52 // Helper function53 static float convertEmUnitToPixel(float fontSize, float unitsPerEm, float value);54 55 // Hold pointer to our creator56 RefPtr<SVGFontFaceElement> fontFaceElement;57 58 // SVG Font specific metrics59 float horizontalOriginX;60 float horizontalOriginY;61 float horizontalAdvanceX;62 63 float verticalOriginX;64 float verticalOriginY;65 float verticalAdvanceY;66 };67 #endif68 47 69 48 enum Pitch { UnknownPitch, FixedPitch, VariablePitch }; … … 71 50 class SimpleFontData : public FontData { 72 51 public: 73 SimpleFontData(const FontPlatformData&, bool customFont = false, bool loading = false );52 SimpleFontData(const FontPlatformData&, bool customFont = false, bool loading = false, SVGFontData* data = 0); 74 53 virtual ~SimpleFontData(); 75 54 … … 79 58 80 59 // vertical metrics 81 int ascent( float fontSize) const;82 int descent( float fontSize) const;83 int lineSpacing( float fontSize) const;84 int lineGap( float fontSize) const;85 float xHeight( float fontSize) const;60 int ascent() const { return m_ascent; } 61 int descent() const { return m_descent; } 62 int lineSpacing() const { return m_lineSpacing; } 63 int lineGap() const { return m_lineGap; } 64 float xHeight() const { return m_xHeight; } 86 65 unsigned unitsPerEm() const { return m_unitsPerEm; } 87 66 … … 95 74 Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitch; } 96 75 97 #if ENABLE(SVG_FONTS) 98 bool isSVGFont() const { return m_svgFontData; } 99 SVGFontData* svgFontData() const { return m_svgFontData.get(); } 100 #endif 101 76 virtual bool isSVGFont() const { return m_svgFontData; } 102 77 virtual bool isCustomFont() const { return m_isCustomFont; } 103 78 virtual bool isLoading() const { return m_isLoading; } … … 105 80 106 81 const GlyphData& missingGlyphData() const { return m_missingGlyphData; } 82 83 #if ENABLE(SVG_FONTS) 84 SVGFontData* svgFontData() const { return m_svgFontData.get(); } 85 #endif 107 86 108 87 #if PLATFORM(MAC) -
trunk/WebCore/platform/graphics/gtk/FontPlatformData.h
r29418 r29700 51 51 FontPlatformData(const FontDescription&, const AtomicString& family); 52 52 53 FontPlatformData(float size, bool bold, bool italic); 53 54 FontPlatformData(cairo_font_face_t* fontFace, int size, bool bold, bool italic); 54 55 … … 58 59 59 60 bool isFixedPitch(); 61 float size() const { return m_fontDescription.specifiedSize(); } 60 62 61 63 void setFont(cairo_t*) const; -
trunk/WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp
r29602 r29700 118 118 } 119 119 120 FontPlatformData(float size, bool bold, bool italic) 121 : m_pattern(0) 122 , m_fontDescription() 123 , m_scaledFont(0) 124 { 125 } 126 120 127 FontPlatformData::FontPlatformData(cairo_font_face_t* fontFace, int size, bool bold, bool italic) 121 128 : m_pattern(0) -
trunk/WebCore/platform/graphics/mac/FontPlatformData.h
r29663 r29700 48 48 {} 49 49 50 FontPlatformData(float s, bool b, bool o) 51 : m_syntheticBold(b) 52 , m_syntheticOblique(o) 53 , m_cgFont(0) 54 , m_atsuFontID(0) 55 , m_size(s) 56 , m_font(0) 57 { 58 } 59 50 60 FontPlatformData(NSFont* f = 0, bool b = false, bool o = false); 51 61 … … 58 68 59 69 ~FontPlatformData(); 70 71 float size() const { return m_size; } 60 72 61 73 bool m_syntheticBold; -
trunk/WebCore/platform/graphics/win/FontPlatformData.h
r28867 r29700 59 59 60 60 FontPlatformData(HFONT, float size, bool bold, bool oblique, bool useGDI); 61 FontPlatformData(float size, bool bold, bool oblique); 61 62 FontPlatformData(CGFontRef, float size, bool bold, bool oblique); 62 63 ~FontPlatformData(); -
trunk/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
r29170 r29700 198 198 } 199 199 200 FontPlatformData::FontPlatformData(float size, bool bold, bool oblique) 201 : m_font(0) 202 , m_size(size) 203 , m_cgFont(0) 204 , m_syntheticBold(bold) 205 , m_syntheticOblique(oblique) 206 , m_useGDI(false) 207 { 208 } 209 200 210 FontPlatformData::FontPlatformData(CGFontRef font, float size, bool bold, bool oblique) 201 211 : m_font(0) -
trunk/WebCore/rendering/RenderSVGText.cpp
r29258 r29700 196 196 const Font& font = style()->font(); 197 197 if (font.primaryFont()->isSVGFont()) { 198 float scale = SVGFontData::convertEmUnitToPixel(font.size(), font.unitsPerEm(), 1.0f);198 float scale = font.unitsPerEm() > 0 ? font.size() / font.unitsPerEm() : 0.0f; 199 199 200 200 if (scale != 0.0f) -
trunk/WebCore/svg/SVGFont.cpp
r29663 r29700 1 1 /** 2 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>2 * Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> 3 3 * 4 4 * This library is free software; you can redistribute it and/or … … 24 24 #include "Font.h" 25 25 26 #include "CSSFontSelector.h" 26 27 #include "GraphicsContext.h" 27 28 #include "RenderObject.h" 28 29 #include "SimpleFontData.h" 30 #include "SVGFontData.h" 29 31 #include "SVGGlyphElement.h" 30 32 #include "SVGFontElement.h" 31 33 #include "SVGFontFaceElement.h" 34 #include "SVGMissingGlyphElement.h" 32 35 #include "SVGPaintServer.h" 33 36 #include "XMLNames.h" … … 36 39 37 40 namespace WebCore { 41 42 static inline float convertEmUnitToPixel(float fontSize, float unitsPerEm, float value) 43 { 44 if (unitsPerEm == 0.0f) 45 return 0.0f; 46 47 return value * fontSize / unitsPerEm; 48 } 38 49 39 50 static inline bool isVerticalWritingMode(const SVGRenderStyle* style) … … 160 171 161 172 // Check wheter languages are compatible 162 if (!language.isEmpty() && !identifier.languages.isEmpty()) { 173 if (!identifier.languages.isEmpty()) { 174 // This glyph exists only in certain languages, if we're not specifying a 175 // language on the referencing element we're unable to use this glyph. 176 if (language.isEmpty()) 177 return false; 178 163 179 // Split subcode from language, if existant. 164 180 String languagePrefix; … … 189 205 } 190 206 191 static inline SVGFontData* svgFontAndFontFaceElementForFontData(const SimpleFontData* fontData, SVGFontFaceElement*& fontFace, SVGFontElement*& font)192 { 193 ASSERT( !fontData->isCustomFont());207 static inline const SVGFontData* svgFontAndFontFaceElementForFontData(const SimpleFontData* fontData, SVGFontFaceElement*& fontFace, SVGFontElement*& font) 208 { 209 ASSERT(fontData->isCustomFont()); 194 210 ASSERT(fontData->isSVGFont()); 195 211 196 SVGFontData* svgFontData = fontData->svgFontData(); 197 ASSERT(svgFontData); 198 199 fontFace = svgFontData->fontFaceElement.get(); 212 const SVGFontData* svgFontData = static_cast<const SVGFontData*>(fontData->svgFontData()); 213 214 fontFace = svgFontData->svgFontFaceElement(); 200 215 ASSERT(fontFace); 201 216 … … 209 224 struct SVGTextRunWalker { 210 225 typedef bool (*SVGTextRunWalkerCallback)(const SVGGlyphIdentifier&, SVGTextRunData&); 211 typedef void (*SVGTextRunWalkerMissingGlyphCallback)(const TextRun&, unsigned int,SVGTextRunData&);212 213 SVGTextRunWalker( SVGFontData* fontData, SVGFontElement* fontElement, SVGTextRunData& data,226 typedef void (*SVGTextRunWalkerMissingGlyphCallback)(const TextRun&, SVGTextRunData&); 227 228 SVGTextRunWalker(const SVGFontData* fontData, SVGFontElement* fontElement, SVGTextRunData& data, 214 229 SVGTextRunWalkerCallback callback, SVGTextRunWalkerMissingGlyphCallback missingGlyphCallback) 215 230 : m_fontData(fontData) … … 268 283 269 284 if (!foundGlyph) { 270 (*m_walkerMissingGlyphCallback)(run, i, m_walkerData); 271 continue; 285 if (SVGMissingGlyphElement* element = m_fontElement->firstMissingGlyphElement()) { 286 // <missing-glyph> element support 287 identifier = SVGGlyphElement::buildGenericGlyphIdentifier(element); 288 SVGGlyphElement::inheritUnspecifiedAttributes(identifier, m_fontData); 289 } else { 290 // Fallback to system font fallback 291 TextRun subRun(run); 292 subRun.setText(subRun.data(i), 1); 293 294 (*m_walkerMissingGlyphCallback)(subRun, m_walkerData); 295 continue; 296 } 272 297 } 273 298 … … 280 305 281 306 private: 282 SVGFontData* m_fontData;307 const SVGFontData* m_fontData; 283 308 SVGFontElement* m_fontElement; 284 309 SVGTextRunData& m_walkerData; … … 293 318 int to; 294 319 320 float scale; 295 321 float length; 296 float fontSize;297 unsigned unitsPerEm;298 322 const Font* font; 299 323 }; … … 302 326 { 303 327 if (data.at >= data.from && data.at < data.to) 304 data.length += SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, identifier.horizontalAdvanceX);328 data.length += identifier.horizontalAdvanceX * data.scale; 305 329 306 330 data.at++; … … 308 332 } 309 333 310 void floatWidthMissingGlyphCallback(const TextRun& run, unsigned int position, SVGTextRunWalkerMeasuredLengthData& data) 311 { 312 // Construct a copy of the current SVG Font that in is use. Disable the SVG Font functionality 313 // in that copy of the Font object, so drawText/floatWidth end up in the "simple" code paths. 314 SimpleFontData* fontData = const_cast<SimpleFontData*>(data.font->primaryFont()); 315 SVGFontData* svgFontData = fontData->m_svgFontData.release(); 316 334 void floatWidthMissingGlyphCallback(const TextRun& run, SVGTextRunWalkerMeasuredLengthData& data) 335 { 317 336 // Handle system font fallback 318 TextRun subRun(run); 319 subRun.setText(subRun.data(position), 1); 320 321 data.length += data.font->floatWidth(subRun); 322 323 // Switch back to SVG Font code path 324 fontData->m_svgFontData.set(svgFontData); 337 Font font(FontDescription(), 0, 0); // spacing handled by SVG text code. 338 font.update(data.font->fontSelector()); 339 340 data.length += font.floatWidth(run); 325 341 } 326 342 … … 336 352 SVGFontFaceElement* fontFaceElement = 0; 337 353 338 if ( SVGFontData* fontData = svgFontAndFontFaceElementForFontData(font->primaryFont(), fontFaceElement, fontElement)) {354 if (const SVGFontData* fontData = svgFontAndFontFaceElementForFontData(font->primaryFont(), fontFaceElement, fontElement)) { 339 355 if (!fontElement) 340 356 return 0.0f; … … 346 362 data.from = from; 347 363 data.to = to; 364 data.scale = convertEmUnitToPixel(font->size(), fontFaceElement->unitsPerEm(), 1.0f); 348 365 data.length = 0.0f; 349 data.fontSize = font->size();350 data.unitsPerEm = fontFaceElement->unitsPerEm();351 366 352 367 if (RenderObject* renderObject = run.referencingRenderObject()) { … … 354 369 355 370 String language; 356 if ( renderObject->element())357 language = static_cast<Element*>(renderObject->element())->getAttribute(XMLNames::langAttr);371 if (SVGElement* element = static_cast<SVGElement*>(renderObject->element())) 372 language = element->getAttribute(XMLNames::langAttr); 358 373 359 374 SVGTextRunWalker<SVGTextRunWalkerMeasuredLengthData> runWalker(fontData, fontElement, data, floatWidthUsingSVGFontCallback, floatWidthMissingGlyphCallback); … … 374 389 // Callback & data structures to draw text using SVG Fonts 375 390 struct SVGTextRunWalkerDrawTextData { 376 float fontSize;377 391 float scale; 378 unsigned unitsPerEm;379 392 bool isVerticalText; 380 393 … … 396 409 397 410 if (data.isVerticalText) { 398 data.glyphOrigin.setX( SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, identifier.verticalOriginX));399 data.glyphOrigin.setY( SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, identifier.verticalOriginY));411 data.glyphOrigin.setX(identifier.verticalOriginX * data.scale); 412 data.glyphOrigin.setY(identifier.verticalOriginY * data.scale); 400 413 } 401 414 … … 422 435 423 436 if (data.isVerticalText) 424 data.currentPoint.move(0.0f, SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, identifier.verticalAdvanceY));437 data.currentPoint.move(0.0f, identifier.verticalAdvanceY * data.scale); 425 438 else 426 data.currentPoint.move( SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, identifier.horizontalAdvanceX), 0.0f);439 data.currentPoint.move(identifier.horizontalAdvanceX * data.scale, 0.0f); 427 440 428 441 return true; 429 442 } 430 443 431 void drawTextMissingGlyphCallback(const TextRun& run, unsigned int position, SVGTextRunWalkerDrawTextData& data) 432 { 433 // Construct a copy of the current SVG Font that in is use. Disable the SVG Font functionality 434 // in that copy of the Font object, so drawText/floatWidth end up in the "simple" code paths. 435 const Font& font = data.context->font(); 436 437 SimpleFontData* fontData = const_cast<SimpleFontData*>(font.primaryFont()); 438 SVGFontData* svgFontData = fontData->m_svgFontData.release(); 439 444 void drawTextMissingGlyphCallback(const TextRun& run, SVGTextRunWalkerDrawTextData& data) 445 { 440 446 // Handle system font fallback 441 TextRun subRun(run);442 subRun.setText(subRun.data(position), 1);443 444 font.drawText(data.context, subRun, data.currentPoint);447 Font font(FontDescription(), 0, 0); // spacing handled by SVG text code. 448 font.update(data.context->font().fontSelector()); 449 450 font.drawText(data.context, run, data.currentPoint); 445 451 446 452 if (data.isVerticalText) 447 data.currentPoint.move(0.0f, data.context->font().floatWidth(subRun));453 data.currentPoint.move(0.0f, font.floatWidth(run)); 448 454 else 449 data.currentPoint.move(data.context->font().floatWidth(subRun), 0.0f); 450 451 // Switch back to SVG Font code path 452 fontData->m_svgFontData.set(svgFontData); 455 data.currentPoint.move(font.floatWidth(run), 0.0f); 453 456 } 454 457 … … 459 462 SVGFontFaceElement* fontFaceElement = 0; 460 463 461 if ( SVGFontData* fontData = svgFontAndFontFaceElementForFontData(primaryFont(), fontFaceElement, fontElement)) {464 if (const SVGFontData* fontData = svgFontAndFontFaceElementForFontData(primaryFont(), fontFaceElement, fontElement)) { 462 465 if (!fontElement) 463 466 return; … … 471 474 ASSERT(data.activePaintServer); 472 475 473 data.fontSize = size(); 474 data.unitsPerEm = fontFaceElement->unitsPerEm(); 475 data.scale = SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, 1.0f); 476 data.scale = convertEmUnitToPixel(size(), fontFaceElement->unitsPerEm(), 1.0f); 476 477 data.isVerticalText = isVerticalWritingMode(data.renderObject->style()->svgStyle()); 477 478 data.xStartOffset = floatWidthOfSubStringUsingSVGFont(this, run, run.rtl() ? to : 0, run.rtl() ? run.length() : from); … … 481 482 482 483 String language; 483 if ( data.renderObject->element())484 language = static_cast<Element*>(data.renderObject->element())->getAttribute(XMLNames::langAttr);484 if (SVGElement* element = static_cast<SVGElement*>(data.renderObject->element())) 485 language = element->getAttribute(XMLNames::langAttr); 485 486 486 487 if (!data.isVerticalText) { 487 data.glyphOrigin.setX( SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, fontData->horizontalOriginX));488 data.glyphOrigin.setY( SVGFontData::convertEmUnitToPixel(data.fontSize, data.unitsPerEm, fontData->horizontalOriginY));489 } 490 488 data.glyphOrigin.setX(fontData->horizontalOriginX() * data.scale); 489 data.glyphOrigin.setY(fontData->horizontalOriginY() * data.scale); 490 } 491 491 492 SVGTextRunWalker<SVGTextRunWalkerDrawTextData> runWalker(fontData, fontElement, data, drawTextUsingSVGFontCallback, drawTextMissingGlyphCallback); 492 493 runWalker.walk(run, data.isVerticalText, language, from, to); -
trunk/WebCore/svg/SVGFontFaceElement.cpp
r29663 r29700 1 1 /* 2 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>3 Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> 4 4 5 5 This library is free software; you can redistribute it and/or … … 23 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGFontFaceElement.h" 25 25 #include "CString.h" 26 26 #include "CSSFontFaceRule.h" 27 27 #include "CSSFontFaceSrcValue.h" … … 139 139 unsigned SVGFontFaceElement::unitsPerEm() const 140 140 { 141 if (hasAttribute(units_per_emAttr)) 142 return static_cast<int>(ceilf(getAttribute(units_per_emAttr).toFloat())); 143 144 return 1000; 145 } 146 147 String SVGFontFaceElement::fontFamily() const 148 { 149 return m_styleDeclaration->getPropertyValue(CSS_PROP_FONT_FAMILY); 150 } 151 152 SimpleFontData* SVGFontFaceElement::createFontData(const FontDescription& fontDescription) const 153 { 154 // We only expect to have this method called by a parent font element 155 ASSERT(parentNode()); 156 ASSERT(parentNode()->hasTagName(fontTag)); 157 SVGFontElement* fontElement = static_cast<SVGFontElement*>(parentNode()); 158 159 FontPlatformData* cachedPlatformData = FontCache::getLastResortFallbackFont(fontDescription); 160 if (!cachedPlatformData) 141 AtomicString value(getAttribute(units_per_emAttr)); 142 if (value.isEmpty()) 143 return 1000; 144 145 return static_cast<unsigned>(ceilf(value.toFloat())); 146 } 147 148 int SVGFontFaceElement::xHeight() const 149 { 150 AtomicString value(getAttribute(x_heightAttr)); 151 if (value.isEmpty()) 161 152 return 0; 162 153 163 OwnPtr<SimpleFontData> fontData(new SimpleFontData(*cachedPlatformData));164 165 SVGFontData* svgFontData = new SVGFontData(const_cast<SVGFontFaceElement*>(this)); 166 fontData->m_svgFontData.set(svgFontData); 167 168 fontData->m_xHeight = fontElement->getAttribute(x_heightAttr).toFloat();169 fontData->m_unitsPerEm = unitsPerEm();154 return static_cast<int>(ceilf(value.toFloat())); 155 } 156 157 float SVGFontFaceElement::horizontalOriginX() const 158 { 159 if (!m_fontElement) 160 return 0.0f; 170 161 171 162 // Spec: The X-coordinate in the font coordinate system of the origin of a glyph to be used when 172 163 // drawing horizontally oriented text. (Note that the origin applies to all glyphs in the font.) 173 164 // If the attribute is not specified, the effect is as if a value of "0" were specified. 174 if (fontElement->hasAttribute(horiz_origin_xAttr)) 175 svgFontData->horizontalOriginX = fontElement->getAttribute(horiz_origin_xAttr).toFloat(); 165 AtomicString value(m_fontElement->getAttribute(horiz_origin_xAttr)); 166 if (value.isEmpty()) 167 return 0.0f; 168 169 return value.toFloat(); 170 } 171 172 float SVGFontFaceElement::horizontalOriginY() const 173 { 174 if (!m_fontElement) 175 return 0.0f; 176 176 177 177 // Spec: The Y-coordinate in the font coordinate system of the origin of a glyph to be used when 178 178 // drawing horizontally oriented text. (Note that the origin applies to all glyphs in the font.) 179 179 // If the attribute is not specified, the effect is as if a value of "0" were specified. 180 if (fontElement->hasAttribute(horiz_origin_yAttr)) 181 svgFontData->horizontalOriginY = fontElement->getAttribute(horiz_origin_yAttr).toFloat(); 180 AtomicString value(m_fontElement->getAttribute(horiz_origin_yAttr)); 181 if (value.isEmpty()) 182 return 0.0f; 183 184 return value.toFloat(); 185 } 186 187 float SVGFontFaceElement::horizontalAdvanceX() const 188 { 189 if (!m_fontElement) 190 return 0.0f; 182 191 183 192 // Spec: The default horizontal advance after rendering a glyph in horizontal orientation. Glyph 184 193 // widths are required to be non-negative, even if the glyph is typically rendered right-to-left, 185 194 // as in Hebrew and Arabic scripts. 186 if (fontElement->hasAttribute(horiz_adv_xAttr)) { 187 float advance = fontElement->getAttribute(horiz_adv_xAttr).toFloat(); 188 189 // TODO: Report errors, instead of silent ignore? 190 if (advance >= 0.0) 191 svgFontData->horizontalAdvanceX = advance; 192 } 195 AtomicString value(m_fontElement->getAttribute(horiz_adv_xAttr)); 196 if (value.isEmpty()) 197 return 0.0f; 198 199 return value.toFloat(); 200 } 201 202 float SVGFontFaceElement::verticalOriginX() const 203 { 204 if (!m_fontElement) 205 return 0.0f; 193 206 194 207 // Spec: The default X-coordinate in the font coordinate system of the origin of a glyph to be used when 195 208 // drawing vertically oriented text. If the attribute is not specified, the effect is as if the attribute 196 209 // were set to half of the effective value of attribute horiz-adv-x. 197 if (fontElement->hasAttribute(vert_origin_xAttr)) 198 svgFontData->verticalOriginX = fontElement->getAttribute(vert_origin_xAttr).toFloat(); 199 else 200 svgFontData->verticalOriginX = svgFontData->horizontalAdvanceX / 2.0f; 210 AtomicString value(m_fontElement->getAttribute(vert_origin_xAttr)); 211 if (value.isEmpty()) 212 return horizontalAdvanceX() / 2.0f; 213 214 return value.toFloat(); 215 } 216 217 float SVGFontFaceElement::verticalOriginY() const 218 { 219 if (!m_fontElement) 220 return 0.0f; 201 221 202 222 // Spec: The default Y-coordinate in the font coordinate system of the origin of a glyph to be used when 203 223 // drawing vertically oriented text. If the attribute is not specified, the effect is as if the attribute 204 224 // were set to the position specified by the font's ascent attribute. 205 if (fontElement->hasAttribute(vert_origin_yAttr)) 206 svgFontData->verticalOriginY = fontElement->getAttribute(vert_origin_yAttr).toFloat(); 207 else 208 svgFontData->verticalOriginY = fontElement->getAttribute(ascentAttr).toFloat(); 225 AtomicString value(m_fontElement->getAttribute(vert_origin_yAttr)); 226 if (value.isEmpty()) 227 return ascent(); 228 229 return value.toFloat(); 230 } 231 232 float SVGFontFaceElement::verticalAdvanceY() const 233 { 234 if (!m_fontElement) 235 return 0.0f; 209 236 210 237 // Spec: The default vertical advance after rendering a glyph in vertical orientation. If the attribute is 211 238 // not specified, the effect is as if a value equivalent of one em were specified (see units-per-em). 212 if (fontElement->hasAttribute(vert_adv_yAttr)) 213 svgFontData->verticalAdvanceY = fontElement->getAttribute(vert_adv_yAttr).toFloat(); 214 else 215 svgFontData->verticalAdvanceY = 1.0f; 239 AtomicString value(m_fontElement->getAttribute(vert_adv_yAttr)); 240 if (value.isEmpty()) 241 return 1.0f; 242 243 return value.toFloat(); 244 } 245 246 int SVGFontFaceElement::ascent() const 247 { 248 if (!m_fontElement) 249 return 0.0f; 216 250 217 251 // Spec: Same syntax and semantics as the 'ascent' descriptor within an @font-face rule. The maximum … … 219 253 // the effect is as if the attribute were set to the difference between the units-per-em value and the 220 254 // vert-origin-y value for the corresponding font. 221 if (hasAttribute(ascentAttr)) 222 fontData->m_ascent = static_cast<int>(ceilf(getAttribute(ascentAttr).toFloat())); 223 else if (fontElement->hasAttribute(vert_origin_yAttr)) 224 fontData->m_ascent = fontData->m_unitsPerEm - static_cast<int>(ceilf(fontElement->getAttribute(vert_origin_yAttr).toFloat())); 225 else // Match Batik's default value. 226 fontData->m_ascent = fontData->m_unitsPerEm * 0.8f; 255 AtomicString value(m_fontElement->getAttribute(ascentAttr)); 256 if (!value.isEmpty()) 257 return static_cast<int>(ceilf(value.toFloat())); 258 259 value = m_fontElement->getAttribute(vert_origin_yAttr); 260 if (!value.isEmpty()) 261 return static_cast<int>(unitsPerEm()) - static_cast<int>(ceilf(value.toFloat())); 262 263 // Match Batiks default value 264 return static_cast<int>(ceilf(unitsPerEm() * 0.8f)); 265 } 266 267 int SVGFontFaceElement::descent() const 268 { 269 if (!m_fontElement) 270 return 0.0f; 227 271 228 272 // Spec: Same syntax and semantics as the 'descent' descriptor within an @font-face rule. The maximum 229 273 // unaccented depth of the font within the font coordinate system. If the attribute is not specified, 230 274 // the effect is as if the attribute were set to the vert-origin-y value for the corresponding font. 231 if (hasAttribute(descentAttr)) { 232 fontData->m_descent = static_cast<int>(ceilf(getAttribute(descentAttr).toFloat())); 233 275 AtomicString value(m_fontElement->getAttribute(descentAttr)); 276 if (!value.isEmpty()) { 234 277 // Some testcases use a negative descent value, where a positive was meant to be used :( 235 if (fontData->m_descent < 0) 236 fontData->m_descent = -fontData->m_descent; 237 } else if (fontElement->hasAttribute(vert_origin_yAttr)) 238 fontData->m_descent = static_cast<int>(ceilf(fontElement->getAttribute(vert_origin_yAttr).toFloat())); 239 else // Match Batik's default value. 240 fontData->m_descent = fontData->m_unitsPerEm * 0.2f; 241 242 return fontData.release(); 278 int descent = static_cast<int>(ceilf(value.toFloat())); 279 return descent < 0 ? -descent : descent; 280 } 281 282 value = m_fontElement->getAttribute(vert_origin_yAttr); 283 if (!value.isEmpty()) 284 return static_cast<int>(ceilf(value.toFloat())); 285 286 // Match Batiks default value 287 return static_cast<int>(ceilf(unitsPerEm() * 0.2f)); 288 } 289 290 String SVGFontFaceElement::fontFamily() const 291 { 292 return m_styleDeclaration->getPropertyValue(CSS_PROP_FONT_FAMILY); 293 } 294 295 SVGFontElement* SVGFontFaceElement::associatedFontElement() const 296 { 297 return m_fontElement.get(); 243 298 } 244 299 … … 253 308 RefPtr<CSSValueList> list = new CSSValueList; 254 309 255 RefPtr<CSSFontFaceSrcValue> src = new CSSFontFaceSrcValue( StringImpl::empty(), true /* isLocal */);310 RefPtr<CSSFontFaceSrcValue> src = new CSSFontFaceSrcValue(fontFamily(), true /* isLocal */); 256 311 src->setSVGFontFaceElement(this); 257 312 list->append(src); … … 261 316 m_styleDeclaration->addParsedProperties(&srcPropertyRef, 1); 262 317 318 m_fontElement = static_cast<SVGFontElement*>(parentNode()); 263 319 document()->updateStyleSelector(); 264 320 return; … … 305 361 } 306 362 307 SVGFontElement* SVGFontFaceElement::associatedFontElement() const308 {309 if (Node* parent = parentNode()) {310 if (parent->hasTagName(fontTag))311 return static_cast<SVGFontElement*>(parent);312 else if (parent->hasTagName(defsTag)) {313 // TODO: Support external SVG fonts!314 return 0;315 }316 }317 318 return 0;319 }320 321 363 } 322 364 -
trunk/WebCore/svg/SVGFontFaceElement.h
r29663 r29700 29 29 class CSSFontFaceRule; 30 30 class CSSMutableStyleDeclaration; 31 class FontDescription;32 class SimpleFontData;33 31 class SVGFontElement; 34 32 … … 44 42 45 43 unsigned unitsPerEm() const; 44 int xHeight() const; 45 float horizontalOriginX() const; 46 float horizontalOriginY() const; 47 float horizontalAdvanceX() const; 48 float verticalOriginX() const; 49 float verticalOriginY() const; 50 float verticalAdvanceY() const; 51 int ascent() const; 52 int descent() const; 46 53 String fontFamily() const; 47 54 55 SVGFontElement* associatedFontElement() const; 48 56 void rebuildFontFace(); 49 SimpleFontData* createFontData(const FontDescription&) const;50 51 // If our parent element is <font>, it will be returned. (this is the case for a SVG Font described in the same document)52 // Otherwhise it will return the <font> element that is referenced by the first valid <font-face-src> element.53 SVGFontElement* associatedFontElement() const;54 57 55 58 private: 56 59 RefPtr<CSSFontFaceRule> m_fontFaceRule; 57 60 RefPtr<CSSMutableStyleDeclaration> m_styleDeclaration; 61 62 RefPtr<SVGFontElement> m_fontElement; 58 63 }; 59 64 -
trunk/WebCore/svg/SVGGlyphElement.cpp
r29663 r29700 1 1 /* 2 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>3 Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> 4 4 5 5 This library is free software; you can redistribute it and/or … … 26 26 #include "SVGFontElement.h" 27 27 #include "SVGFontFaceElement.h" 28 #include "SVGFontData.h" 28 29 #include "SVGNames.h" 29 30 #include "SVGParserUtilities.h" … … 94 95 } 95 96 96 void SVGGlyphElement::inheritUnspecifiedAttributes(SVGGlyphIdentifier& identifier, SVGFontData* svgFontData)97 void SVGGlyphElement::inheritUnspecifiedAttributes(SVGGlyphIdentifier& identifier, const SVGFontData* svgFontData) 97 98 { 98 99 if (identifier.horizontalAdvanceX == SVGGlyphIdentifier::inheritedValue()) 99 identifier.horizontalAdvanceX = svgFontData->horizontalAdvanceX ;100 identifier.horizontalAdvanceX = svgFontData->horizontalAdvanceX(); 100 101 101 102 if (identifier.verticalOriginX == SVGGlyphIdentifier::inheritedValue()) 102 identifier.verticalOriginX = svgFontData->verticalOriginX ;103 identifier.verticalOriginX = svgFontData->verticalOriginX(); 103 104 104 105 if (identifier.verticalOriginY == SVGGlyphIdentifier::inheritedValue()) 105 identifier.verticalOriginY = svgFontData->verticalOriginY ;106 identifier.verticalOriginY = svgFontData->verticalOriginY(); 106 107 107 108 if (identifier.verticalAdvanceY == SVGGlyphIdentifier::inheritedValue()) 108 identifier.verticalAdvanceY = svgFontData->verticalAdvanceY; 109 identifier.verticalAdvanceY = svgFontData->verticalAdvanceY(); 110 } 111 112 static inline float parseSVGGlyphAttribute(const SVGElement* element, const WebCore::QualifiedName& name) 113 { 114 AtomicString value(element->getAttribute(name)); 115 if (value.isEmpty()) 116 return SVGGlyphIdentifier::inheritedValue(); 117 118 return value.toFloat(); 119 } 120 121 SVGGlyphIdentifier SVGGlyphElement::buildGenericGlyphIdentifier(const SVGElement* element) 122 { 123 SVGGlyphIdentifier identifier; 124 identifier.pathData = parsePathData(element->getAttribute(dAttr)); 125 126 // Spec: The horizontal advance after rendering the glyph in horizontal orientation. 127 // If the attribute is not specified, the effect is as if the attribute were set to the 128 // value of the font's horiz-adv-x attribute. Glyph widths are required to be non-negative, 129 // even if the glyph is typically rendered right-to-left, as in Hebrew and Arabic scripts. 130 identifier.horizontalAdvanceX = parseSVGGlyphAttribute(element, horiz_adv_xAttr); 131 132 // Spec: The X-coordinate in the font coordinate system of the origin of the glyph to be 133 // used when drawing vertically oriented text. If the attribute is not specified, the effect 134 // is as if the attribute were set to the value of the font's vert-origin-x attribute. 135 identifier.verticalOriginX = parseSVGGlyphAttribute(element, vert_origin_xAttr); 136 137 // Spec: The Y-coordinate in the font coordinate system of the origin of a glyph to be 138 // used when drawing vertically oriented text. If the attribute is not specified, the effect 139 // is as if the attribute were set to the value of the font's vert-origin-y attribute. 140 identifier.verticalOriginY = parseSVGGlyphAttribute(element, vert_origin_yAttr); 141 142 // Spec: The vertical advance after rendering a glyph in vertical orientation. 143 // If the attribute is not specified, the effect is as if the attribute were set to the 144 // value of the font's vert-adv-y attribute. 145 identifier.verticalAdvanceY = parseSVGGlyphAttribute(element, vert_adv_yAttr); 146 147 return identifier; 109 148 } 110 149 111 150 SVGGlyphIdentifier SVGGlyphElement::buildGlyphIdentifier() const 112 151 { 113 SVGGlyphIdentifier identifier ;152 SVGGlyphIdentifier identifier(buildGenericGlyphIdentifier(this)); 114 153 identifier.glyphName = getAttribute(glyph_nameAttr); 115 154 identifier.orientation = parseOrientation(getAttribute(orientationAttr)); 116 155 identifier.arabicForm = parseArabicForm(getAttribute(arabic_formAttr)); 117 identifier.pathData = parsePathData(getAttribute(dAttr));118 156 119 String language = getAttribute(XMLNames::langAttr); 120 if (language.isEmpty()) // SVG defines a non-xml prefixed "lang" propert for <glyph> it seems. 121 language = getAttribute("lang"); 122 123 identifier.languages = parseDelimitedString(language, ','); 124 125 // Spec: The horizontal advance after rendering the glyph in horizontal orientation. 126 // If the attribute is not specified, the effect is as if the attribute were set to the 127 // value of the font's horiz-adv-x attribute. Glyph widths are required to be non-negative, 128 // even if the glyph is typically rendered right-to-left, as in Hebrew and Arabic scripts. 129 if (hasAttribute(horiz_adv_xAttr)) 130 identifier.horizontalAdvanceX = getAttribute(horiz_adv_xAttr).toFloat(); 131 else 132 identifier.horizontalAdvanceX = SVGGlyphIdentifier::inheritedValue(); 133 134 // Spec: The X-coordinate in the font coordinate system of the origin of the glyph to be 135 // used when drawing vertically oriented text. If the attribute is not specified, the effect 136 // is as if the attribute were set to the value of the font's vert-origin-x attribute. 137 if (hasAttribute(vert_origin_xAttr)) 138 identifier.verticalOriginX = getAttribute(vert_origin_xAttr).toFloat(); 139 else 140 identifier.verticalOriginX = SVGGlyphIdentifier::inheritedValue(); 141 142 // Spec: The Y-coordinate in the font coordinate system of the origin of a glyph to be 143 // used when drawing vertically oriented text. If the attribute is not specified, the effect 144 // is as if the attribute were set to the value of the font's vert-origin-y attribute. 145 if (hasAttribute(vert_origin_yAttr)) 146 identifier.verticalOriginY = getAttribute(vert_origin_yAttr).toFloat(); 147 else 148 identifier.verticalOriginY = SVGGlyphIdentifier::inheritedValue(); 149 150 // Spec: The vertical advance after rendering a glyph in vertical orientation. 151 // If the attribute is not specified, the effect is as if the attribute were set to the 152 // value of the font's vert-adv-y attribute. 153 if (hasAttribute(vert_adv_yAttr)) 154 identifier.verticalAdvanceY = getAttribute(vert_adv_yAttr).toFloat(); 155 else 156 identifier.verticalAdvanceY = SVGGlyphIdentifier::inheritedValue(); 157 String language = getAttribute(langAttr); 158 if (!language.isEmpty()) 159 identifier.languages = parseDelimitedString(language, ','); 157 160 158 161 return identifier; -
trunk/WebCore/svg/SVGGlyphElement.h
r29663 r29700 30 30 namespace WebCore { 31 31 32 class AtomicString; 32 33 struct SVGFontData; 33 34 … … 107 108 108 109 SVGGlyphIdentifier buildGlyphIdentifier() const; 109 static void inheritUnspecifiedAttributes(SVGGlyphIdentifier&, SVGFontData*); 110 111 // Helper function used by SVGFont 112 static void inheritUnspecifiedAttributes(SVGGlyphIdentifier&, const SVGFontData*); 113 static String querySVGFontLanguage(const SVGElement*); 114 115 // Helper function shared between SVGGlyphElement & SVGMissingGlyphElement 116 static SVGGlyphIdentifier buildGenericGlyphIdentifier(const SVGElement*); 110 117 }; 111 112 118 113 119 } // namespace WebCore -
trunk/WebCore/svg/SVGMissingGlyphElement.cpp
r29663 r29700 23 23 #include "SVGMissingGlyphElement.h" 24 24 25 #include "SVGNames.h"26 27 25 namespace WebCore { 28 29 using namespace SVGNames;30 26 31 27 SVGMissingGlyphElement::SVGMissingGlyphElement(const QualifiedName& tagName, Document* doc) -
trunk/WebCore/svg/svgattrs.in
r26507 r29700 103 103 keySplines 104 104 keyTimes 105 lang 105 106 lengthAdjust 106 107 letter-spacing
Note: See TracChangeset
for help on using the changeset viewer.