2011-06-24 Nikolas Zimmermann <nzimmermann@rim.com>
[WebKit-https.git] / LayoutTests / svg / custom / svg-fonts-fallback.xhtml
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <title>SVG Font Test</title>
4 <style>
5 @font-face {
6     font-family: 'TestFont1';
7     src: url('#TestFont1') format(svg);
8 }
9
10 @font-face {
11     font-family: 'TestFont2';
12     src: url('#TestFont2') format(svg);
13 }
14
15 @font-face {
16     font-family: 'TestFont3';
17     src: url('#TestFont3') format(svg);
18 }
19 </style>
20 </head>
21 <body>
22 <svg xmlns="http://www.w3.org/2000/svg" style="display: none">
23     <defs>
24         <font id="TestFont1">
25             <font-face font-family="TestFont1" font-weight="normal" font-style="normal" font-variant="normal" font-stretch="normal" units-per-em="2048.000000" x-height="987.500000" cap-height="1558.500000" ascent="2127.000000" descent="532.000000"/>
26             <missing-glyph d="M 0.000000 0.000000 L 987.500000 0.000000 L 987.500000 1558.500000 L 0.000000 1558.500000 Z M 0.000000 0.000000 " horiz-adv-x="987.500000"/>        
27             <glyph unicode="a" d="M 860.000000 974.000000 L 1086.000000 974.000000 L 1086.000000 0.000000 L 860.000000 0.000000 L 860.000000 102.000000 C 767.332886 15.332900 667.667175 -28.000000 561.000000 -28.000000 C 426.332672 -28.000000 315.000427 20.666180 227.000000 118.000000 C 139.666229 217.333832 96.000000 341.332581 96.000000 490.000000 C 96.000000 636.000732 139.666229 757.666199 227.000000 855.000000 C 314.333771 952.333801 423.666016 1001.000000 555.000000 1001.000000 C 668.333923 1001.000000 769.999573 954.333801 860.000000 861.000000 Z M 326.000000 490.000000 C 326.000000 396.666199 350.999756 320.666962 401.000000 262.000000 C 452.333588 202.666367 516.999634 173.000000 595.000000 173.000000 C 678.333740 173.000000 745.666382 201.666382 797.000000 259.000000 C 848.333618 318.333618 874.000000 393.666199 874.000000 485.000000 C 874.000000 576.333801 848.333618 651.666382 797.000000 711.000000 C 745.666382 769.000305 679.000427 798.000000 597.000000 798.000000 C 519.666260 798.000000 455.000275 768.666931 403.000000 710.000000 C 351.666412 650.666382 326.000000 577.333740 326.000000 490.000000 Z M 1228.000000 0.000000 " horiz-adv-x="1228"/>
28             <glyph unicode=" " d="M 632.000000 0.000000 " horiz-adv-x="632"/>
29         </font>
30
31         <!-- Same as TestFont1, but without a missing-glyph element and one additional glyph -->
32         <font id="TestFont2">
33             <font-face font-family="TestFont2" font-weight="normal" font-style="normal" font-variant="normal" font-stretch="normal" units-per-em="2048.000000" x-height="987.500000" cap-height="1558.500000" ascent="2127.000000" descent="532.000000"/>
34             <glyph unicode="a" d="M 860.000000 974.000000 L 1086.000000 974.000000 L 1086.000000 0.000000 L 860.000000 0.000000 L 860.000000 102.000000 C 767.332886 15.332900 667.667175 -28.000000 561.000000 -28.000000 C 426.332672 -28.000000 315.000427 20.666180 227.000000 118.000000 C 139.666229 217.333832 96.000000 341.332581 96.000000 490.000000 C 96.000000 636.000732 139.666229 757.666199 227.000000 855.000000 C 314.333771 952.333801 423.666016 1001.000000 555.000000 1001.000000 C 668.333923 1001.000000 769.999573 954.333801 860.000000 861.000000 Z M 326.000000 490.000000 C 326.000000 396.666199 350.999756 320.666962 401.000000 262.000000 C 452.333588 202.666367 516.999634 173.000000 595.000000 173.000000 C 678.333740 173.000000 745.666382 201.666382 797.000000 259.000000 C 848.333618 318.333618 874.000000 393.666199 874.000000 485.000000 C 874.000000 576.333801 848.333618 651.666382 797.000000 711.000000 C 745.666382 769.000305 679.000427 798.000000 597.000000 798.000000 C 519.666260 798.000000 455.000275 768.666931 403.000000 710.000000 C 351.666412 650.666382 326.000000 577.333740 326.000000 490.000000 Z M 1228.000000 0.000000 " horiz-adv-x="1228"/>
35             <glyph unicode="o" d="M 96.000000 494.000000 C 96.000000 634.667358 146.332825 754.332825 247.000000 853.000000 C 347.667175 951.667175 470.332611 1001.000000 615.000000 1001.000000 C 760.334045 1001.000000 883.666138 951.333801 985.000000 852.000000 C 1085.000488 752.666199 1135.000000 630.667419 1135.000000 486.000000 C 1135.000000 339.999268 1084.667114 217.667160 984.000000 119.000000 C 882.666138 20.999510 758.334045 -28.000000 611.000000 -28.000000 C 464.999268 -28.000000 342.667145 21.999500 244.000000 122.000000 C 145.332840 220.667160 96.000000 344.665924 96.000000 494.000000 Z M 326.000000 490.000000 C 326.000000 392.666168 351.999725 315.666962 404.000000 259.000000 C 457.333588 201.666382 527.666260 173.000000 615.000000 173.000000 C 703.000427 173.000000 773.333069 201.333054 826.000000 258.000000 C 878.666931 314.666962 905.000000 390.332855 905.000000 485.000000 C 905.000000 579.667114 878.666931 655.333069 826.000000 712.000000 C 772.666382 769.333618 702.333740 798.000000 615.000000 798.000000 C 528.999573 798.000000 459.333588 769.333618 406.000000 712.000000 C 352.666412 654.666382 326.000000 580.667114 326.000000 490.000000 Z M 1231.000000 0.000000 " horiz-adv-x="1231"/>
36             <glyph unicode=" " d="M 632.000000 0.000000 " horiz-adv-x="632"/>
37         </font>
38
39         <!-- Same as TestFont1, but with one additional glyph -->
40         <font id="TestFont3">
41             <font-face font-family="TestFont3" font-weight="normal" font-style="normal" font-variant="normal" font-stretch="normal" units-per-em="2048.000000" x-height="987.500000" cap-height="1558.500000" ascent="2127.000000" descent="532.000000"/>
42             <missing-glyph d="M 0.000000 0.000000 L 987.500000 0.000000 L 987.500000 1558.500000 L 0.000000 1558.500000 Z M 0.000000 0.000000 " horiz-adv-x="987.500000"/>        
43             <glyph unicode="a" d="M 860.000000 974.000000 L 1086.000000 974.000000 L 1086.000000 0.000000 L 860.000000 0.000000 L 860.000000 102.000000 C 767.332886 15.332900 667.667175 -28.000000 561.000000 -28.000000 C 426.332672 -28.000000 315.000427 20.666180 227.000000 118.000000 C 139.666229 217.333832 96.000000 341.332581 96.000000 490.000000 C 96.000000 636.000732 139.666229 757.666199 227.000000 855.000000 C 314.333771 952.333801 423.666016 1001.000000 555.000000 1001.000000 C 668.333923 1001.000000 769.999573 954.333801 860.000000 861.000000 Z M 326.000000 490.000000 C 326.000000 396.666199 350.999756 320.666962 401.000000 262.000000 C 452.333588 202.666367 516.999634 173.000000 595.000000 173.000000 C 678.333740 173.000000 745.666382 201.666382 797.000000 259.000000 C 848.333618 318.333618 874.000000 393.666199 874.000000 485.000000 C 874.000000 576.333801 848.333618 651.666382 797.000000 711.000000 C 745.666382 769.000305 679.000427 798.000000 597.000000 798.000000 C 519.666260 798.000000 455.000275 768.666931 403.000000 710.000000 C 351.666412 650.666382 326.000000 577.333740 326.000000 490.000000 Z M 1228.000000 0.000000 " horiz-adv-x="1228"/>
44             <glyph unicode="o" d="M 96.000000 494.000000 C 96.000000 634.667358 146.332825 754.332825 247.000000 853.000000 C 347.667175 951.667175 470.332611 1001.000000 615.000000 1001.000000 C 760.334045 1001.000000 883.666138 951.333801 985.000000 852.000000 C 1085.000488 752.666199 1135.000000 630.667419 1135.000000 486.000000 C 1135.000000 339.999268 1084.667114 217.667160 984.000000 119.000000 C 882.666138 20.999510 758.334045 -28.000000 611.000000 -28.000000 C 464.999268 -28.000000 342.667145 21.999500 244.000000 122.000000 C 145.332840 220.667160 96.000000 344.665924 96.000000 494.000000 Z M 326.000000 490.000000 C 326.000000 392.666168 351.999725 315.666962 404.000000 259.000000 C 457.333588 201.666382 527.666260 173.000000 615.000000 173.000000 C 703.000427 173.000000 773.333069 201.333054 826.000000 258.000000 C 878.666931 314.666962 905.000000 390.332855 905.000000 485.000000 C 905.000000 579.667114 878.666931 655.333069 826.000000 712.000000 C 772.666382 769.333618 702.333740 798.000000 615.000000 798.000000 C 528.999573 798.000000 459.333588 769.333618 406.000000 712.000000 C 352.666412 654.666382 326.000000 580.667114 326.000000 490.000000 Z M 1231.000000 0.000000 " horiz-adv-x="1231"/>
45             <glyph unicode=" " d="M 632.000000 0.000000 " horiz-adv-x="632"/>
46         </font>
47
48     </defs>
49 </svg>
50 <!-- Both rows should look identical -->
51 <p>
52     <!-- Should render as 'a <stroked_box> o' -->
53     <span style='font-size: 40px; '>a &#xbe2; o</span><br/>
54     <span style='font-family: NotExistant; font-size: 40px; '>a &#xbe2; o</span>
55 </p>
56 <hr/>
57
58 <!-- Should render as 'a <filled_box> o' using the SVG Font -->
59 <p>
60     <span style='font-family: TestFont1; font-size: 40px; '>a &#xbe2; o</span><br/>
61 </p>
62 <hr/>
63
64 <!-- Both rows should look identical -->
65 <p>
66     <!-- 'a', ' ', 'o' from TestFont3, '&#xbe2;' rendered using <missing-glyph> --> 
67     <span style='font-family: TestFont3; font-size: 40px; '>a &#xbe2; o</span><br/>
68
69     <!-- 'a', ' ' from TestFont1, 'o' from TestFont2, '&#xbe2;' rendered using <missing-glyph> from TestFont1 --> 
70     <span style='font-family: TestFont1, TestFont2; font-size: 40px; '>a &#xbe2; o</span>
71 </p>
72 <hr/>
73
74 <!-- Should render as 'a  o' -->
75 <p>
76     <!-- 'a', ' ', 'o' from TestFont2, '&#xbe2;' can't be rendered, as none of the default fonts defines it -->
77     <span style='font-family: TestFont2; font-size: 40px; '>a &#xbe2; o</span><br/>
78 </p>
79
80 </body>
81 </html>